aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarc Englund <marc.englund@itmill.com>2009-02-16 13:44:24 +0000
committerMarc Englund <marc.englund@itmill.com>2009-02-16 13:44:24 +0000
commita0fa67db10ce768d9a340814a4a26f5700b2bacb (patch)
tree798fa77e0423a6591a1852f55c057b8ef1777885
parentc0a4b92fc91e47962488f9ea7db2c3499582b6b9 (diff)
downloadvaadin-framework-a0fa67db10ce768d9a340814a4a26f5700b2bacb.tar.gz
vaadin-framework-a0fa67db10ce768d9a340814a4a26f5700b2bacb.zip
Tooltip timer could cause "NPE" in some instances. Probably cause for #2567
svn changeset:6855/svn branch:trunk
-rwxr-xr-xsrc/com/itmill/toolkit/terminal/gwt/client/ApplicationConnection.java10
-rw-r--r--src/com/itmill/toolkit/terminal/gwt/client/ITooltip.java4
2 files changed, 12 insertions, 2 deletions
diff --git a/src/com/itmill/toolkit/terminal/gwt/client/ApplicationConnection.java b/src/com/itmill/toolkit/terminal/gwt/client/ApplicationConnection.java
index cb3fe85951..bc19ef7b62 100755
--- a/src/com/itmill/toolkit/terminal/gwt/client/ApplicationConnection.java
+++ b/src/com/itmill/toolkit/terminal/gwt/client/ApplicationConnection.java
@@ -1498,7 +1498,15 @@ public class ApplicationConnection {
*
*/
public TooltipInfo getTitleInfo(Paintable titleOwner) {
- return idToPaintableDetail.get(getPid(titleOwner)).getTooltipInfo();
+ if (null == titleOwner) {
+ return null;
+ }
+ ComponentDetail pd = idToPaintableDetail.get(getPid(titleOwner));
+ if (null != pd) {
+ return pd.getTooltipInfo();
+ } else {
+ return null;
+ }
}
private final ITooltip tooltip = new ITooltip(this);
diff --git a/src/com/itmill/toolkit/terminal/gwt/client/ITooltip.java b/src/com/itmill/toolkit/terminal/gwt/client/ITooltip.java
index fe5b8b65ab..773e847aae 100644
--- a/src/com/itmill/toolkit/terminal/gwt/client/ITooltip.java
+++ b/src/com/itmill/toolkit/terminal/gwt/client/ITooltip.java
@@ -135,7 +135,9 @@ public class ITooltip extends IToolkitOverlay {
@Override
public void run() {
TooltipInfo info = ac.getTitleInfo(tooltipOwner);
- show(info);
+ if (null != info) {
+ show(info);
+ }
opening = false;
}
};