Author: psmith
Date: Tue Sep  9 22:55:39 2008
New Revision: 693710

URL: http://svn.apache.org/viewvc?rev=693710&view=rev
Log:
Slight optimization.  Found this with Yourkit, but if the Event Detail View is 
hidden, this logic is still getting fired...

That is, detailPain.isVisible() is true... even though we call 
setVisible(false) to toggle it.  

Instead, check the Preference model for the state, and exit early if it's not 
visible.

Modified:
    logging/chainsaw/trunk/src/main/java/org/apache/log4j/chainsaw/LogPanel.java

Modified: 
logging/chainsaw/trunk/src/main/java/org/apache/log4j/chainsaw/LogPanel.java
URL: 
http://svn.apache.org/viewvc/logging/chainsaw/trunk/src/main/java/org/apache/log4j/chainsaw/LogPanel.java?rev=693710&r1=693709&r2=693710&view=diff
==============================================================================
--- 
logging/chainsaw/trunk/src/main/java/org/apache/log4j/chainsaw/LogPanel.java 
(original)
+++ 
logging/chainsaw/trunk/src/main/java/org/apache/log4j/chainsaw/LogPanel.java 
Tue Sep  9 22:55:39 2008
@@ -222,7 +222,7 @@
   private final FilterModel filterModel = new FilterModel();
   private final RuleColorizer colorizer = new RuleColorizer();
   private final RuleMediator ruleMediator = new RuleMediator();
-  private EventDetailLayout detailLayout = new EventDetailLayout();
+  private final EventDetailLayout detailLayout = new EventDetailLayout();
   private double lastDetailPanelSplitLocation = DEFAULT_DETAIL_SPLIT_LOCATION;
   private double lastLogTreePanelSplitLocation =
     DEFAULT_LOG_TREE_SPLIT_LOCATION;
@@ -231,7 +231,7 @@
   private Rule findRule;
   private final JPanel findPanel;
   private JTextField findField;
-  private int dividerSize;
+  private final int dividerSize;
   static final String TABLE_COLUMN_ORDER = "table.columns.order";
   static final String TABLE_COLUMN_WIDTHS = "table.columns.widths";
   static final String COLUMNS_EXTENSION = ".columns";
@@ -2107,7 +2107,7 @@
    */
   private void setDetailPaneConversionPattern(String conversionPattern) {
     String oldPattern = getDetailPaneConversionPattern();
-    ((EventDetailLayout) detailLayout).setConversionPattern(conversionPattern);
+    (detailLayout).setConversionPattern(conversionPattern);
     firePropertyChange(
       "detailPaneConversionPattern", oldPattern,
       getDetailPaneConversionPattern());
@@ -2119,7 +2119,7 @@
    * @return conversionPattern layout text
    */
   private String getDetailPaneConversionPattern() {
-    return ((EventDetailLayout) detailLayout).getConversionPattern();
+    return (detailLayout).getConversionPattern();
   }
 
   /**
@@ -2632,10 +2632,12 @@
      * Update detail pane
      */
     private void updateDetailPane() {
-      /*
-       * Don't bother doing anything if it's not visible
-       */
-      if (!detail.isVisible()) {
+            /*
+             * Don't bother doing anything if it's not visible. Note: the 
isVisible() method on
+             * Component is not really accurate here because when the button 
to toggle display of
+             * the detail pane is triggered it still appears as 'visible' for 
some reason.
+             */
+      if (!preferenceModel.isDetailPaneVisible()) {
         return;
       }
 


Reply via email to