fixed data abort in float listner for inputconnection
authorw.nam <w.nam@samsung.com>
Sat, 23 Mar 2013 08:05:15 +0000 (17:05 +0900)
committerw.nam <w.nam@samsung.com>
Sat, 23 Mar 2013 08:05:15 +0000 (17:05 +0900)
Change-Id: Id7a61083d8aed72954e01cb16d8fb33a56e221a3

src/ui/FUi_InputConnectionImpl.cpp

index fce6374..f07dc44 100644 (file)
@@ -1243,20 +1243,48 @@ _InputConnectionImpl::OnKeyPressed(const _Control& source, const _KeyInfo& keyIn
 
                        if (Character::IsAlphaNumeric(commitChar))
                        {
-                               __pListener->OnInputConnectionTextCommitted( *pInputConnection, commitText);
+                               if (__pListener)
+                               {
+                                       __pListener->OnInputConnectionTextCommitted( *pInputConnection, commitText);
+                               }
+                               if (__pListenerF)
+                               {
+                                       __pListenerF->OnInputConnectionTextCommitted( *pInputConnection, commitText);
+                               }
                        }
                        if (commitText == L" " || commitText == L"\t")
                        {
-                               __pListener->OnInputConnectionTextCommitted( *pInputConnection, commitText);
+                               if (__pListener)
+                               {
+                                       __pListener->OnInputConnectionTextCommitted( *pInputConnection, commitText);
+                               }
+                               if (__pListenerF)
+                               {
+                                       __pListenerF->OnInputConnectionTextCommitted( *pInputConnection, commitText);
+                               }
                        }
                        if (commitText == L"\n" || commitText == L"\r")
                        {
-                               __pListener->OnInputConnectionTextCommitted( *pInputConnection, commitText);
+                               if (__pListener)
+                               {
+                                       __pListener->OnInputConnectionTextCommitted( *pInputConnection, commitText);
+                               }
+                               if (__pListenerF)
+                               {
+                                       __pListenerF->OnInputConnectionTextCommitted( *pInputConnection, commitText);
+                               }
                        }
                        if ( (commitChar >= 0x21 && commitChar <= 0x2F) || (commitChar >= 0x3A && commitChar <= 0x40) ||
                                 (commitChar >= 0x5B && commitChar <= 0x60) || (commitChar >= 0x7B && commitChar<= 0x7E) )
                        {
-                               __pListener->OnInputConnectionTextCommitted( *pInputConnection, commitText);
+                               if (__pListener)
+                               {
+                                       __pListener->OnInputConnectionTextCommitted( *pInputConnection, commitText);
+                               }
+                               if (__pListenerF)
+                               {
+                                       __pListenerF->OnInputConnectionTextCommitted( *pInputConnection, commitText);
+                               }
                        }
 
                        free(pKeyDown);