tmf: Bug 490400: Leaking widgets due to incorrect cleanup in dispose()
[deliverable/tracecompass.git] / tmf / org.eclipse.tracecompass.tmf.ui / src / org / eclipse / tracecompass / tmf / ui / viewers / table / TmfSimpleTableViewer.java
index d86404e8df563fdd304758fa051270244dd02ba5..f204774deb006837ccc29fe108779bbd98f4333e 100644 (file)
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2015 Ericsson
+ * Copyright (c) 2015, 2016 Ericsson
  *
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
@@ -192,6 +192,10 @@ public class TmfSimpleTableViewer extends TmfViewer {
 
         Menu tablePopup = fTablePopupMenuManager.createContextMenu(getTableViewer().getTable());
         getTableViewer().getTable().setMenu(tablePopup);
+
+        tableControl.addDisposeListener((e) -> {
+            internalDispose();
+        });
     }
 
     @Override
@@ -199,6 +203,9 @@ public class TmfSimpleTableViewer extends TmfViewer {
         if (fTableViewer != null) {
             fTableViewer.getControl().dispose();
         }
+    }
+
+    private void internalDispose() {
         if (fTablePopupMenuManager != null) {
             fTablePopupMenuManager.dispose();
         }
This page took 0.025126 seconds and 5 git commands to generate.