tmf: Enable address mapping config action for all traces
[deliverable/tracecompass.git] / tmf / org.eclipse.tracecompass.tmf.ui / src / org / eclipse / tracecompass / tmf / ui / views / callstack / CallStackView.java
index 8e915d84a86f8926d582a220450181bafe6e18e7..3bd838adef6391b17c84fbe2292a4e5584411115 100644 (file)
@@ -526,6 +526,20 @@ public class CallStackView extends AbstractTimeGraphView {
         if (monitor.isCanceled()) {
             return;
         }
+
+        /*
+         * Load the symbol provider for the current trace, even if it does not
+         * provide a call stack analysis module. See
+         * https://bugs.eclipse.org/bugs/show_bug.cgi?id=494212
+         */
+        ISymbolProvider provider = fSymbolProviders.get(trace);
+        if (provider == null) {
+            provider = SymbolProviderManager.getInstance().getSymbolProvider(trace);
+            provider.loadConfiguration(null);
+            fSymbolProviders.put(trace, provider);
+        }
+
+        /* Continue with the call stack view specific operations */
         AbstractCallStackAnalysis module = getCallStackModule(trace);
         if (module == null) {
             addUnavailableEntry(trace, parentTrace);
@@ -557,16 +571,6 @@ public class CallStackView extends AbstractTimeGraphView {
                 continue;
             }
 
-            ISymbolProvider provider = fSymbolProviders.get(trace);
-            if (provider == null) {
-                provider = SymbolProviderManager.getInstance().getSymbolProvider(trace);
-                provider.loadConfiguration(monitor);
-                fSymbolProviders.put(trace, provider);
-            }
-
-            getConfigureSymbolsAction().setEnabled(true);
-
-
             TraceEntry traceEntry = traceEntryMap.get(trace);
             if (traceEntry == null) {
                 traceEntry = new TraceEntry(trace.getName(), start, end + 1);
@@ -1223,6 +1227,12 @@ public class CallStackView extends AbstractTimeGraphView {
 
         fConfigureSymbolsAction.setToolTipText(Messages.CallStackView_ConfigureSymbolProvidersTooltip);
         fConfigureSymbolsAction.setImageDescriptor(Activator.getDefault().getImageDescripterFromPath(IMPORT_BINARY_ICON_PATH));
+
+        /*
+         * The updateConfigureSymbolsAction() method (called by refresh()) will
+         * set the action to true if applicable after the symbol provider has
+         * been properly loaded.
+         */
         fConfigureSymbolsAction.setEnabled(false);
 
         return fConfigureSymbolsAction;
This page took 0.025208 seconds and 5 git commands to generate.