javauis/nokiauiapi_qt/src/os.cpp
changeset 87 1627c337e51e
parent 78 71ad690e91f5
--- a/javauis/nokiauiapi_qt/src/os.cpp	Fri Oct 15 12:29:39 2010 +0300
+++ b/javauis/nokiauiapi_qt/src/os.cpp	Fri Oct 29 11:49:32 2010 +0300
@@ -14,7 +14,7 @@
 #include <touchfeedback.h>
 #include <com_nokia_mj_impl_nokiauiapi_OS.h>
 #include "autorelease.h"
-#include "csoftnotification.h"
+#include "CSoftNotification.h"
 
 static CCoeControl* convertToSymbian(QWidget* window)
     {
@@ -172,29 +172,31 @@
 Java_com_nokia_mj_impl_nokiauiapi_OS_setText(JNIEnv* aJniEnv, jclass /*aPeer*/,
         jint aSoftNotificationHandle, jstring aPrimaryText, jstring aSecondaryText)
     {
+    if (aPrimaryText == NULL || aSecondaryText == NULL)
+        {
+        // These arguments are checked already on Java side, no need to try
+        // to recover from NULL strings.
+        return KErrArgument;
+        }
+        
     CSoftNotification* softNotification =
             reinterpret_cast<CSoftNotification*> (aSoftNotificationHandle);
     // Convert from java string to Symbian descriptor
     HBufC* bufferPrimaryText = NULL;
-    if (aPrimaryText != NULL)
+    bufferPrimaryText = JavaStringToSymbianString(aJniEnv, aPrimaryText);
+    if (bufferPrimaryText == NULL)
         {
-        bufferPrimaryText = JavaStringToSymbianString(aJniEnv, aPrimaryText);
-        if (bufferPrimaryText == NULL)
-            {
-            return KErrNoMemory;
-            }
+        return KErrNoMemory;
         }
 
     HBufC* bufferSecondaryText = NULL;
-    if (aSecondaryText != NULL)
+    bufferSecondaryText = JavaStringToSymbianString(aJniEnv,
+            aSecondaryText);
+    if (bufferSecondaryText == NULL)
         {
-        bufferSecondaryText = JavaStringToSymbianString(aJniEnv,
-                aSecondaryText);
-        if (bufferSecondaryText == NULL)
-            {
-            return KErrNoMemory;
-            }
+        return KErrNoMemory;
         }
+
     TRAPD(err,softNotification->SetTextL(*bufferPrimaryText, *bufferSecondaryText));
     return err;
     }
@@ -232,18 +234,21 @@
 Java_com_nokia_mj_impl_nokiauiapi_OS_setImagePath(JNIEnv* aJniEnv,
         jclass /*aPeer*/, jint aSoftNotificationHandle, jstring aImagePath )
     {
+    if (aImagePath == NULL)
+        {
+        return KErrArgument;
+        }
+        
     CSoftNotification* softNotification =
     reinterpret_cast<CSoftNotification*> (aSoftNotificationHandle);
     // Convert from java string to Symbian descriptor
     HBufC* bufferImagePath = NULL;
-    if (aImagePath != NULL)
+    bufferImagePath = JavaStringToSymbianString(aJniEnv, aImagePath);
+    if (bufferImagePath == NULL)
         {
-        bufferImagePath = JavaStringToSymbianString(aJniEnv, aImagePath);
-        if (bufferImagePath == NULL)
-            {
-            return KErrNoMemory;
-            }
+        return KErrNoMemory;
         }
+
     TRAPD(err,softNotification->SetImagePathL(*bufferImagePath));
     return err;
     }