tmf: fix conflicting find handler message in time graph views
authorBernd Hufmann <Bernd.Hufmann@ericsson.com>
Mon, 18 Apr 2016 17:59:52 +0000 (13:59 -0400)
committerBernd Hufmann <bernd.hufmann@ericsson.com>
Thu, 21 Apr 2016 17:42:58 +0000 (13:42 -0400)
Change-Id: Icf6ff1772acad9b86278e507b0cf987fba859857
Signed-off-by: Bernd Hufmann <Bernd.Hufmann@ericsson.com>
Reviewed-on: https://git.eclipse.org/r/70896
Reviewed-by: Hudson CI
Reviewed-by: Patrick Tasse <patrick.tasse@gmail.com>
Tested-by: Patrick Tasse <patrick.tasse@gmail.com>
tmf/org.eclipse.tracecompass.tmf.ui/src/org/eclipse/tracecompass/tmf/ui/views/timegraph/AbstractTimeGraphView.java

index 5baea766ed0202ea4a6cb3d510ccf3ad6997b4af..929e719f3f584c540f4270d1dbb77dc39a9f12d8 100644 (file)
@@ -268,10 +268,10 @@ public abstract class AbstractTimeGraphView extends TmfView implements ITmfTimeA
     private static final ShowFindDialogAction FIND_ACTION = new ShowFindDialogAction();
 
     /** The find action handler */
-    private static ActionHandler fFindActionHandler;
+    private ActionHandler fFindActionHandler;
 
     /** The find handler activation */
-    private static IHandlerActivation fFindHandlerActivation;
+    private IHandlerActivation fFindHandlerActivation;
 
     /** The find target to use */
     private final FindTarget fFindTarget;
@@ -2317,8 +2317,10 @@ public abstract class AbstractTimeGraphView extends TmfView implements ITmfTimeA
                     if (fFindActionHandler == null) {
                         fFindActionHandler = new ActionHandler(FIND_ACTION);
                     }
-                    final Object service = PlatformUI.getWorkbench().getService(IHandlerService.class);
-                    fFindHandlerActivation = ((IHandlerService) service).activateHandler(ActionFactory.FIND.getCommandId(), fFindActionHandler);
+                    if (fFindHandlerActivation == null) {
+                        final Object service = PlatformUI.getWorkbench().getService(IHandlerService.class);
+                        fFindHandlerActivation = ((IHandlerService) service).activateHandler(ActionFactory.FIND.getCommandId(), fFindActionHandler);
+                    }
                 }
             }
             // Notify action for all parts
@@ -2329,6 +2331,7 @@ public abstract class AbstractTimeGraphView extends TmfView implements ITmfTimeA
             if ((part == AbstractTimeGraphView.this) && (fFindHandlerActivation != null)) {
                 final Object service = PlatformUI.getWorkbench().getService(IHandlerService.class);
                 ((IHandlerService) service).deactivateHandler(fFindHandlerActivation);
+                fFindHandlerActivation = null;
             }
         }
         @Override
This page took 0.025605 seconds and 5 git commands to generate.