From cc10b272dff846e2e85057ff8a10cc2142d3df34 Mon Sep 17 00:00:00 2001 From: adam-m Date: Tue, 6 Nov 2012 16:39:31 -0500 Subject: [PATCH] fix for setting update message in wrong thread --- .../keywordsearch/ExtractedContentPanel.java | 22 ++++++++++++------- 1 file changed, 14 insertions(+), 8 deletions(-) diff --git a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/ExtractedContentPanel.java b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/ExtractedContentPanel.java index ad3e03c8ce..fcba9dd527 100644 --- a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/ExtractedContentPanel.java +++ b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/ExtractedContentPanel.java @@ -18,6 +18,7 @@ */ package org.sleuthkit.autopsy.keywordsearch; +import java.awt.EventQueue; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.ItemEvent; @@ -86,8 +87,7 @@ class ExtractedContentPanel extends javax.swing.JPanel { public void itemStateChanged(ItemEvent e) { if (e.getStateChange() == ItemEvent.SELECTED) { MarkupSource source = (MarkupSource) e.getItem(); - //setPanelText(source.getMarkup()); - new SetMarkup(source).execute(); + setMarkup(source); } } }); @@ -309,8 +309,7 @@ class ExtractedContentPanel extends javax.swing.JPanel { void refreshCurrentMarkup() { MarkupSource ms = (MarkupSource) sourceComboBox.getSelectedItem(); - //setPanelText(ms.getMarkup()); - new SetMarkup(ms).execute(); + setMarkup(ms); } /** @@ -567,6 +566,16 @@ class ExtractedContentPanel extends javax.swing.JPanel { } } + + /** + * Gets and sets new markup. Updates GUI in GUI thread and gets markup in background thread. + * To be invoked from GUI thread only. + */ + private void setMarkup(MarkupSource source) { + setPanelText("Loading text... Please wait"); + new SetMarkup(source).execute(); + } + /** * Swingworker to get makrup source content String from Solr in background * thread and then set the panel text in the EDT Helps not to block the UI @@ -588,8 +597,7 @@ class ExtractedContentPanel extends javax.swing.JPanel { progress.setDisplayName("Loading text"); progress.start(); progress.switchToIndeterminate(); - - setPanelText("Loading text... Please wait"); + markup = source.getMarkup(); return null; } @@ -603,10 +611,8 @@ class ExtractedContentPanel extends javax.swing.JPanel { } else { setPanelText(""); } - updateControls(source); - } } }