* Bug #11686 fixed - An error occurred when clicking outside of an uicontextmenu... 00/8800/3
Vincent COUVERT [Fri, 24 Aug 2012 12:53:21 +0000 (14:53 +0200)]
Change-Id: I8738bdaf2055879d960664ee6eb93a38316c0160

scilab/CHANGES_5.4.X
scilab/modules/gui/src/java/org/scilab/modules/gui/bridge/contextmenu/SwingScilabContextMenu.java
scilab/modules/gui/tests/nonreg_tests/bug_11686.tst [new file with mode: 0644]

index 6ace709..d5ffe19 100644 (file)
@@ -128,6 +128,8 @@ Bug Fixes
 
 * Bugs #11666, #11667 and #11670 to 11676 fixed - Add examples in the signal processing help pages.
 
+* Bug #11686 fixed - An error occurred when clicking outside of an uicontextmenu area.
+
 * Bug #11697 fixed - ATOMS modules ar enow listed in the "Toolboxes" menu when
                      they are not auo-loaded.
 
index c8edf05..764b11f 100644 (file)
@@ -62,13 +62,17 @@ public class SwingScilabContextMenu extends JPopupMenu implements SwingViewObjec
 
             public void popupMenuWillBecomeInvisible(PopupMenuEvent arg0) {
                 if (uid != null) {
-                    GraphicController.getController().removeRelationShipAndDelete(uid);
+                    if (GraphicController.getController().getObjectFromId(uid) != null) {
+                        GraphicController.getController().removeRelationShipAndDelete(uid);
+                    }
                 }
             }
 
             public void popupMenuCanceled(PopupMenuEvent arg0) {
                 if (uid != null) {
-                    GraphicController.getController().removeRelationShipAndDelete(uid);
+                    if (GraphicController.getController().getObjectFromId(uid) != null) {
+                        GraphicController.getController().removeRelationShipAndDelete(uid);
+                    }
                 }
             }
         });
diff --git a/scilab/modules/gui/tests/nonreg_tests/bug_11686.tst b/scilab/modules/gui/tests/nonreg_tests/bug_11686.tst
new file mode 100644 (file)
index 0000000..e841012
--- /dev/null
@@ -0,0 +1,26 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2012 - Scilab Enterprises - Vincent COUVERT
+//
+//  This file is distributed under the same license as the Scilab package.
+// =============================================================================
+//
+// <-- Non-regression test for bug 11686 -->
+// <-- TEST WITH GRAPHIC -->
+// <-- INTERACTIVE TEST -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/11686
+//
+// <-- Short Description -->
+// An error occurred when clicking outside of an uicontextmenu area.
+
+h0 = uicontextmenu();
+h1 = uimenu("Label", "Item1", "Parent", h0);
+h2 = uimenu("Label", "Item2", "Parent", h0);
+
+b = uicontrol("String", "Click me");
+
+// Click on the button:
+// - the contextual menu must disappear
+// - check that you have no Java exception
\ No newline at end of file