Xcos: fix crash on block parameter change 13/20813/2
Clement DAVID [Wed, 6 Feb 2019 14:07:03 +0000 (15:07 +0100)]
On windows x64, there was a crash on block update listener as the object
has been deleted *before* being referenced for Java-side action. This
"fix" discard most of the Property dispatch on EDT which relax our
Controller refer/unref sections.

Note: this is only a workaround some weird Java GC things, our reference
owning seems correct.

Change-Id: I88233cc396d17e01960816ab937e8b96cf1cb88c

scilab/modules/xcos/src/java/org/scilab/modules/xcos/XcosView.java

index 475cf2d..d596938 100644 (file)
@@ -25,7 +25,7 @@ import javax.swing.SwingUtilities;
 /**
  * Generic view to dispatch common GUI update to the right JGraphX component
  */
-public class XcosView extends View {
+public final class XcosView extends View {
 
     private final static class Entry {
         XcosViewListener listener;
@@ -50,7 +50,7 @@ public class XcosView extends View {
         visibleObjects = new HashMap<Long, Object>();
 
 
-        addXcosViewListener(new UpdateStyleFromInterfunctionAdapter());
+        addXcosViewListener(new UpdateStyleFromInterfunctionAdapter(), Kind.BLOCK, ObjectProperties.INTERFACE_FUNCTION);
     }
 
     /**