From e7b67e5eb875be1416f67896b27867faa1eaa24c Mon Sep 17 00:00:00 2001 From: adam-m Date: Thu, 23 May 2013 17:33:50 -0400 Subject: [PATCH] workaround in keyword search panel for node being set twice sometimes --- .../keywordsearch/ExtractedContentViewer.java | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/ExtractedContentViewer.java b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/ExtractedContentViewer.java index 349af19e55..61496fa6f7 100644 --- a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/ExtractedContentViewer.java +++ b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/ExtractedContentViewer.java @@ -51,7 +51,7 @@ public class ExtractedContentViewer implements DataContentViewer { private static final Logger logger = Logger.getLogger(ExtractedContentViewer.class.getName()); private ExtractedContentPanel panel; - private Node currentNode = null; + private volatile Node currentNode = null; private MarkupSource currentSource = null; private final IsDirVisitor isDirVisitor = new IsDirVisitor(); //keep last content cached @@ -65,8 +65,6 @@ public class ExtractedContentViewer implements DataContentViewer { @Override public void setNode(final Node selectedNode) { - //TODO why setNode() is called twice for the same node each time - // to clear the viewer if (selectedNode == null) { currentNode = null; @@ -74,7 +72,14 @@ public class ExtractedContentViewer implements DataContentViewer { return; } - this.currentNode = selectedNode; + //TODO why setNode() is called twice for the same node sometimes (when selected in dir tree first) + //for now, do not update second time + if (selectedNode == currentNode) { + return; + } + else { + currentNode = selectedNode; + } // sources are custom markup from the node (if available) and default // markup is fetched from solr