From fae551f0cea22c9843911cdcc2472b4e8135c93d Mon Sep 17 00:00:00 2001 From: macdonst Date: Thu, 22 Dec 2011 09:47:40 +0800 Subject: [PATCH] Fix NullPointerException in DroidGap.onMeasure() It looks like on some devices the onMeasure() method is called before the callbackServer is instantiated. This causes a NullPointerException which kills the application. --- framework/src/com/phonegap/DroidGap.java | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/framework/src/com/phonegap/DroidGap.java b/framework/src/com/phonegap/DroidGap.java index 26a04f56..f9065676 100755 --- a/framework/src/com/phonegap/DroidGap.java +++ b/framework/src/com/phonegap/DroidGap.java @@ -1695,14 +1695,18 @@ public class DroidGap extends PhonegapActivity { // If the height as gotten bigger then we will assume the soft keyboard has // gone away. else if (height > oldHeight) { - LOG.v(TAG, "Throw hide keyboard event"); - callbackServer.sendJavascript("PhoneGap.fireDocumentEvent('hidekeyboard');"); + if (callbackServer != null) { + LOG.v(TAG, "Throw hide keyboard event"); + callbackServer.sendJavascript("PhoneGap.fireDocumentEvent('hidekeyboard');"); + } } // If the height as gotten smaller then we will assume the soft keyboard has // been displayed. else if (height < oldHeight) { - LOG.v(TAG, "Throw show keyboard event"); - callbackServer.sendJavascript("PhoneGap.fireDocumentEvent('showkeyboard');"); + if (callbackServer != null) { + LOG.v(TAG, "Throw show keyboard event"); + callbackServer.sendJavascript("PhoneGap.fireDocumentEvent('showkeyboard');"); + } } // Update the old height for the next event