- if (result != null) {
- canvasContext.getDefaultHintContext().setHint(KEY_MAP_SIZE_BAR_OPTIONS, result);
- canvasContext.getEventQueue().queueEvent(new CommandEvent(canvasContext, System.currentTimeMillis(), MAP_SIZE_BAR_OPTIONS_CHANGE));
+ queueEventInternal(KEY_MAP_SIZE_BAR_OPTIONS, MAP_SIZE_BAR_OPTIONS_CHANGE, result);
+ }
+
+ private void queueEventInternal(Key key, Command command, Object result) {
+ if (result != null && !canvasContext.isDisposed()) {
+ canvasContext.getThreadAccess().asyncExec(() -> {
+ canvasContext.getDefaultHintContext().setHint(key, result);
+ canvasContext.getEventQueue().queueEvent(new CommandEvent(canvasContext, System.currentTimeMillis(), command));
+ });
+ } else {
+ LOGGER.info("Result is either null or canvasContext is disposed", String.valueOf(result));