@Override
	public void domainObjectChanged(DomainObjectChangedEvent event) {
		if (!isVisible()) {
			return;
		}

		int recordCount = event.numRecords();
		for (int i = 0; i < recordCount; i++) {

			DomainObjectChangeRecord rec = event.getChangeRecord(i);
			EventType eventType = rec.getEventType();

			// NOTE: RESTORED event can be ignored here since the model will be notified 
			// of restored datatype manager via the CompositeViewerModel's 
			// DataTypeManagerChangeListener restored method.

			if (eventType == DomainObjectEvent.FILE_CHANGED) {
				scheduleRefreshName = true;
				delayedUpdateMgr.updateLater();
				continue;
			}
			if (eventType instanceof ProgramEvent type) {
				switch (type) {
					case FUNCTION_REMOVED:
						Function func = (Function) ((ProgramChangeRecord) rec).getObject();
						if (func == function) {
							// Close the Editor.
							tool.setStatusInfo("Stack Editor was closed for " + getName());
							dispose();
							return;
						}
						break;
					case SYMBOL_RENAMED:
					case SYMBOL_DATA_CHANGED:
						Symbol sym = (Symbol) ((ProgramChangeRecord) rec).getObject();
						if (sym.isPrimary() && sym.getAddress().equals(function.getEntryPoint())) {
							scheduleRefreshName = true;
							delayedUpdateMgr.updateLater();
						}
						else if (inCurrentFunction(rec)) {
							scheduleReload = true;
							delayedUpdateMgr.updateLater();
						}
						break;
					case FUNCTION_CHANGED:
					case SYMBOL_ADDED:
					case SYMBOL_REMOVED:
					case SYMBOL_ADDRESS_CHANGED:
						if (inCurrentFunction(rec)) {
							scheduleReload = true;
							delayedUpdateMgr.updateLater();
						}
						break;
					case SYMBOL_PRIMARY_STATE_CHANGED:
						sym = (Symbol) ((ProgramChangeRecord) rec).getNewValue();
						if (sym.getAddress().equals(function.getEntryPoint())) {
							scheduleRefreshName = true;
							delayedUpdateMgr.updateLater();
						}
						break;
					default:
				}
			}
		}
	}
Delay model update caused by Program change events.
Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/stackeditor/StackEditorProvider.java