Modified to change input_mode only if the handler returns true 84/92784/2
authorJi-hoon Lee <dalton.lee@samsung.com>
Fri, 7 Oct 2016 06:29:02 +0000 (15:29 +0900)
committerJihoon Kim <jihoon48.kim@samsung.com>
Mon, 31 Oct 2016 00:46:52 +0000 (17:46 -0700)
Change-Id: Ib546f0013fa60dea9562de7c297e109f0983c3d1

scl/scleventhandler.cpp
scl/scluiimpl.cpp

index f433e9b..b9cb5b0 100644 (file)
@@ -253,9 +253,7 @@ CSCLEventHandler::set_input_mode(const sclchar *input_mode)
             }
         }
 
-        if (m_cur_input_mode_event_callback) {
-            ret = TRUE;
-        }
+        ret = TRUE;
     }
 
     return ret;
index 28c4af0..4b390db 100644 (file)
@@ -207,10 +207,11 @@ CSCLUIImpl::set_input_mode(const sclchar *input_mode)
         }
 
         if (controller && windows && handler && focus_handler && mode != NOT_USED) {
-            handler->set_input_mode(input_mode);
-            ret = controller->process_input_mode_change(mode);
-            windows->update_window(windows->get_base_window());
-            focus_handler->init_key_index();
+            if (handler->set_input_mode(input_mode)) {
+                ret = controller->process_input_mode_change(mode);
+                windows->update_window(windows->get_base_window());
+                focus_handler->init_key_index();
+            }
         }
     }