diff -r d6dafc5d983f -r 1627c337e51e javauis/nokiauiapi_qt/src/os.cpp --- 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 #include #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 (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 (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; }