Note that Eclipse's null checker is wrong in these cases, because the if conditions mean that it can never be null in those places.

The checker is pretty smart, but it's not always right.

On 2012-05-15 14:07, [email protected] wrote:
Author: smartini
Date: Tue May 15 12:07:39 2012
New Revision: 1338663

URL: http://svn.apache.org/viewvc?rev=1338663&view=rev
Log:
fix potential NPE

Modified:
     pivot/trunk/wtk/src/org/apache/pivot/wtk/TreeView.java
     
pivot/trunk/wtk/src/org/apache/pivot/wtk/content/TableViewMultiCellRenderer.java
     
pivot/trunk/wtk/src/org/apache/pivot/wtk/skin/TextPaneSkinVerticalElementView.java

Modified: pivot/trunk/wtk/src/org/apache/pivot/wtk/TreeView.java
URL: 
http://svn.apache.org/viewvc/pivot/trunk/wtk/src/org/apache/pivot/wtk/TreeView.java?rev=1338663&r1=1338662&r2=1338663&view=diff
==============================================================================
--- pivot/trunk/wtk/src/org/apache/pivot/wtk/TreeView.java (original)
+++ pivot/trunk/wtk/src/org/apache/pivot/wtk/TreeView.java Tue May 15 12:07:39 
2012
@@ -1640,7 +1640,7 @@ public class TreeView extends Component
                  Path ancestorPath = new Path(path, path.getLength() - 1);

                  for (int i = ancestorPath.getLength() - 1; i>= 0; i--) {
-                    NodeCheckState ancestorPreviousCheckState = 
ancestorCheckStates.get(i);
+                    NodeCheckState ancestorPreviousCheckState = 
(ancestorCheckStates != null) ? ancestorCheckStates.get(i) : null;
                      NodeCheckState ancestorCheckState = 
getNodeCheckState(ancestorPath);

                      if (ancestorCheckState != ancestorPreviousCheckState) {

Modified: 
pivot/trunk/wtk/src/org/apache/pivot/wtk/content/TableViewMultiCellRenderer.java
URL: 
http://svn.apache.org/viewvc/pivot/trunk/wtk/src/org/apache/pivot/wtk/content/TableViewMultiCellRenderer.java?rev=1338663&r1=1338662&r2=1338663&view=diff
==============================================================================
--- 
pivot/trunk/wtk/src/org/apache/pivot/wtk/content/TableViewMultiCellRenderer.java
 (original)
+++ 
pivot/trunk/wtk/src/org/apache/pivot/wtk/content/TableViewMultiCellRenderer.java
 Tue May 15 12:07:39 2012
@@ -275,20 +275,20 @@ public class TableViewMultiCellRenderer
      }

      @Override
-    public int getPreferredWidth(int height) {
-        return currentRenderer.getPreferredWidth(height);
+    public int getPreferredWidth(int heightArgument) {
+        return currentRenderer.getPreferredWidth(heightArgument);
      }

      @Override
-    public int getPreferredHeight(int width) {
+    public int getPreferredHeight(int widthArgument) {
          // Our preferred height is the maximum of all our possible renderers'
          // preferred height
-        int preferredHeight = defaultRenderer.getPreferredHeight(width);
+        int preferredHeight = 
defaultRenderer.getPreferredHeight(widthArgument);

          for (Class<?>  key : cellRenderers) {
              TableView.CellRenderer renderer = cellRenderers.get(key);
              preferredHeight = Math.max(preferredHeight,
-                renderer.getPreferredHeight(width));
+                renderer.getPreferredHeight(widthArgument));
          }

          return preferredHeight;
@@ -300,7 +300,7 @@ public class TableViewMultiCellRenderer
      }

      @Override
-    public int getBaseline(int width, int height) {
+    public int getBaseline(int widthArgument, int heightArgument) {
          return -1;
      }

@@ -329,7 +329,7 @@ public class TableViewMultiCellRenderer
                  cellRenderer = cellRenderers.get(valueClass);

                  if (cellRenderer == null) {
-                    valueClass = valueClass.getSuperclass();
+                    valueClass = (valueClass != null) ? 
valueClass.getSuperclass() : null;
                  }
              }

@@ -358,7 +358,7 @@ public class TableViewMultiCellRenderer
              cellRenderer = cellRenderers.get(valueClass);

              if (cellRenderer == null) {
-                valueClass = valueClass.getSuperclass();
+                valueClass = (valueClass != null) ? valueClass.getSuperclass() 
: null;
              }
          }


Modified: 
pivot/trunk/wtk/src/org/apache/pivot/wtk/skin/TextPaneSkinVerticalElementView.java
URL: 
http://svn.apache.org/viewvc/pivot/trunk/wtk/src/org/apache/pivot/wtk/skin/TextPaneSkinVerticalElementView.java?rev=1338663&r1=1338662&r2=1338663&view=diff
==============================================================================
--- 
pivot/trunk/wtk/src/org/apache/pivot/wtk/skin/TextPaneSkinVerticalElementView.java
 (original)
+++ 
pivot/trunk/wtk/src/org/apache/pivot/wtk/skin/TextPaneSkinVerticalElementView.java
 Tue May 15 12:07:39 2012
@@ -151,7 +151,7 @@ abstract class TextPaneSkinVerticalEleme
                      }

                      if (offset != -1) {
-                        offset += nodeView.getOffset();
+                        offset += (nodeView != null) ? nodeView.getOffset() : 
0;
                      }
                  }
              }


Reply via email to