tmf: Bug 490400: Leaking widgets due to incorrect cleanup in dispose()
[deliverable/tracecompass.git] / analysis / org.eclipse.tracecompass.analysis.timing.ui / src / org / eclipse / tracecompass / analysis / timing / ui / views / segmentstore / density / AbstractSegmentStoreDensityViewer.java
index 6f4fd1f01cd94261acafefc7de55313a80981666..4e003ec0a28d09361562b47eba202135a98fc1ab 100644 (file)
@@ -105,6 +105,10 @@ public abstract class AbstractSegmentStoreDensityViewer extends TmfViewer {
         fDragProvider.register();
         fTooltipProvider = new SimpleTooltipProvider(this);
         fTooltipProvider.register();
+
+        fChart.addDisposeListener((e) -> {
+            internalDispose();
+        });
     }
 
     /**
@@ -272,6 +276,10 @@ public abstract class AbstractSegmentStoreDensityViewer extends TmfViewer {
 
     @Override
     public void dispose() {
+        fChart.dispose();
+    }
+
+    private void internalDispose() {
         if (fSegmentStoreProvider != null && fListener != null) {
             fSegmentStoreProvider.removeListener(fListener);
         }
This page took 0.025166 seconds and 5 git commands to generate.