tmf: Update data in common XY chart outside the UI thread
authorGenevieve Bastien <gbastien+lttng@versatic.net>
Sun, 9 Oct 2016 09:45:38 +0000 (05:45 -0400)
committerGenevieve Bastien <gbastien+lttng@versatic.net>
Tue, 1 Nov 2016 18:41:02 +0000 (14:41 -0400)
Change-Id: Id7e991dab24bd0ba6dce062a9e477c50664587c0
Signed-off-by: Genevieve Bastien <gbastien+lttng@versatic.net>
Reviewed-on: https://git.eclipse.org/r/82796
Reviewed-by: Matthew Khouzam <matthew.khouzam@ericsson.com>
Tested-by: Matthew Khouzam <matthew.khouzam@ericsson.com>
Reviewed-by: Hudson CI
tmf/org.eclipse.tracecompass.tmf.ui/src/org/eclipse/tracecompass/tmf/ui/viewers/xycharts/linecharts/TmfCommonXLineChartViewer.java

index 8f55d8be08a65a1c0301a247b622545f7bd6fd33..9bab341ce8dbb714495ef186c97e73584663fe84 100644 (file)
@@ -190,22 +190,15 @@ public abstract class TmfCommonXLineChartViewer extends TmfXYChartViewer {
         @Override
         public void run() {
             LOGGER.info(() -> getLogMessage("UpdateThreadStart", "numRequests=" + fNumRequests + ", tid=" + getId())); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-            Display.getDefault().syncExec(new Runnable() {
-                @Override
-                public void run() {
-                    LOGGER.info(() -> getLogMessage("UpdateDataStart", "tid=" + getId())); //$NON-NLS-1$ //$NON-NLS-2$
-                    try {
-                        updateData(getWindowStartTime(), getWindowEndTime(), fNumRequests, fMonitor);
-                    } finally {
-                        /*
-                         * fDirty should have been incremented before creating
-                         * the thread, so we decrement it once it is finished
-                         */
-                        fDirty.decrementAndGet();
-                        LOGGER.info(() -> getLogMessage("UpdateDataEnd", "tid=" + getId())); //$NON-NLS-1$ //$NON-NLS-2$
-                    }
-                }
-            });
+            try {
+                updateData(getWindowStartTime(), getWindowEndTime(), fNumRequests, fMonitor);
+            } finally {
+                /*
+                 * fDirty should have been incremented before creating the
+                 * thread, so we decrement it once it is finished
+                 */
+                fDirty.decrementAndGet();
+            }
             updateThreadFinished(this);
             LOGGER.info(() -> getLogMessage("UpdateThreadEnd", "tid=" + getId())); //$NON-NLS-1$ //$NON-NLS-2$
         }
@@ -399,6 +392,7 @@ public abstract class TmfCommonXLineChartViewer extends TmfXYChartViewer {
             @Override
             public void run() {
                 try {
+                    LOGGER.info(() -> getLogMessage("UpdateDisplayStart", null)); //$NON-NLS-1$
                     if (!getSwtChart().isDisposed()) {
                         double[] xValues = fXValues;
                         double maxy = DEFAULT_MAXY;
@@ -445,10 +439,12 @@ public abstract class TmfCommonXLineChartViewer extends TmfXYChartViewer {
                             TmfSignalManager.dispatchSignal(new TmfTimeViewAlignmentSignal(TmfCommonXLineChartViewer.this, timeAlignmentInfo, true));
                         }
                     }
+                    LOGGER.info(() -> getLogMessage("UpdateDisplayEnd", null)); //$NON-NLS-1$
                 } finally {
                     /* Content has been updated, decrement dirtiness */
                     fDirty.decrementAndGet();
                 }
+
             }
         });
     }
This page took 0.025854 seconds and 5 git commands to generate.