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;
}
}
}