Fix issues detected by prevent 89/41589/1
authorSungmin Kwak <sungmin.kwak@samsung.com>
Fri, 17 Apr 2015 07:13:47 +0000 (16:13 +0900)
committerJihoon Kim <jihoon48.kim@samsung.com>
Tue, 16 Jun 2015 13:01:04 +0000 (22:01 +0900)
Change-Id: If479e28dd42ed77e40e5d01fa7702f30458a2464

src/candidate/efl/candidate-efl.cpp
src/candidate/efl/candidate-multiline-efl.cpp
src/ise.cpp
src/sdk/sdk.cpp [changed mode: 0755->0644]

index 3b9b533..14f6031 100644 (file)
@@ -51,18 +51,21 @@ EflCandidate::item_pressed(Evas_Object *item)
     const char *str = edje_object_part_text_get(
         item, "candidate");
 
-    int index;
-    vector<string>::const_iterator it =
-        find(cur_candidates.begin(), cur_candidates.end(), str);
-    if (it != cur_candidates.end()) {
-        index = it-cur_candidates.begin();
-    } else {
-        index = -1;
+    int index = -1;
+    if (str) {
+        vector<string>::const_iterator it =
+            find(cur_candidates.begin(), cur_candidates.end(), str);
+        if (it != cur_candidates.end()) {
+            index = it-cur_candidates.begin();
+        } else {
+            index = -1;
+        }
     }
+
     // notify listners the event happend
     EventDesc desc;
     desc.type = EventDesc::CANDIDATE_ITEM_MOUSE_DOWN;
-    desc.text = str;
+    desc.text = str? str : "";
     desc.index = index;
     notify_listeners(desc);
 }
@@ -76,7 +79,7 @@ EflCandidate::item_released(Evas_Object *item)
     // notify listners the event happend
     EventDesc desc;
     desc.type = EventDesc::CANDIDATE_ITEM_MOUSE_UP;
-    desc.text = str;
+    desc.text = str? str : "";
     notify_listeners(desc);
 }
 
@@ -89,7 +92,7 @@ EflCandidate::item_moved(Evas_Object *item)
     // notify listners the event happend
     EventDesc desc;
     desc.type = EventDesc::CANDIDATE_ITEM_MOUSE_MOVE;
-    desc.text = str;
+    desc.text = str? str : "";
     notify_listeners(desc);
 }
 
index b787365..af9488b 100644 (file)
@@ -59,18 +59,15 @@ EflMultiLineCandidate::item_pressed(Evas_Object *item)
     const char *str = edje_object_part_text_get(
         item, "candidate");
 
-    int index;
-    vector<string>::const_iterator it =
-        find(cur_candidates.begin(), cur_candidates.end(), str);
-    if (it != cur_candidates.end()) {
-        index = it-cur_candidates.begin();
-    } else {
-        index = -1;
-    }
-    if (it != cur_candidates.end()) {
-        index = it-cur_candidates.begin();
-    } else {
-        index = -1;
+    int index = -1;
+    if (str) {
+        vector<string>::const_iterator it =
+            find(cur_candidates.begin(), cur_candidates.end(), str);
+        if (it != cur_candidates.end()) {
+            index = it-cur_candidates.begin();
+        } else {
+            index = -1;
+        }
     }
 
     //hide_more_view();
@@ -78,7 +75,7 @@ EflMultiLineCandidate::item_pressed(Evas_Object *item)
     MultiEventDesc desc;
     desc.type = MultiEventDesc::CANDIDATE_ITEM_MOUSE_DOWN;
     desc.index = index;
-    desc.text = str;
+    desc.text = str? str : "";
     notify_listeners(desc);
 }
 
index 974e91d..ef2c498 100644 (file)
@@ -433,14 +433,18 @@ on_input_mode_changed(const sclchar *key_value, sclulong key_event, sclint key_t
                 ret = _language_manager.select_next_language();
             }
         }
-        LANGUAGE_INFO *info = _language_manager.get_language_info(_language_manager.get_current_language());
-        if (info) {
-            if (info->accepts_caps_mode) {
-                ise_send_event(MVK_Shift_Enable, KEY_MASK_NULL);
-                set_caps_mode(g_keyboard_state.caps_mode);
-            } else {
-                ise_send_event(MVK_Shift_Disable, KEY_MASK_NULL);
-                g_ui->set_shift_state(SCL_SHIFT_STATE_OFF);
+
+        const sclchar * cur_lang = _language_manager.get_current_language();
+        if (cur_lang) {
+            LANGUAGE_INFO *info = _language_manager.get_language_info(cur_lang);
+            if (info) {
+                if (info->accepts_caps_mode) {
+                    ise_send_event(MVK_Shift_Enable, KEY_MASK_NULL);
+                    set_caps_mode(g_keyboard_state.caps_mode);
+                } else {
+                    ise_send_event(MVK_Shift_Disable, KEY_MASK_NULL);
+                    g_ui->set_shift_state(SCL_SHIFT_STATE_OFF);
+                }
             }
         }
     }
@@ -456,21 +460,24 @@ SCLEventReturnType CUIEventCallback::on_event_notification(SCLUINotiType noti_ty
 
     if (noti_type == SCL_UINOTITYPE_SHIFT_STATE_CHANGE) {
         if (g_need_send_shift_event) {
-            LANGUAGE_INFO *info = _language_manager.get_language_info(_language_manager.get_current_language());
-            SclNotiShiftStateChangeDesc *desc = static_cast<SclNotiShiftStateChangeDesc*>(etc_info);
-            if (info && desc) {
-                if (info->accepts_caps_mode) {
-                    LOGD ("shift state: %d", desc->shift_state);
-                    if (desc->shift_state == SCL_SHIFT_STATE_OFF) {
-                        ise_send_event(MVK_Shift_Off, KEY_MASK_NULL);
-                    }
-                    else if (desc->shift_state == SCL_SHIFT_STATE_ON) {
-                        ise_send_event(MVK_Shift_On, KEY_MASK_NULL);
-                    }
-                    else if (desc->shift_state == SCL_SHIFT_STATE_LOCK) {
-                        ise_send_event(MVK_Shift_Lock, KEY_MASK_NULL);
+            const sclchar * cur_lang = _language_manager.get_current_language();
+            if (cur_lang) {
+                LANGUAGE_INFO *info = _language_manager.get_language_info(cur_lang);
+                SclNotiShiftStateChangeDesc *desc = static_cast<SclNotiShiftStateChangeDesc*>(etc_info);
+                if (info && desc) {
+                    if (info->accepts_caps_mode) {
+                        LOGD ("shift state: %d", desc->shift_state);
+                        if (desc->shift_state == SCL_SHIFT_STATE_OFF) {
+                            ise_send_event(MVK_Shift_Off, KEY_MASK_NULL);
+                        }
+                        else if (desc->shift_state == SCL_SHIFT_STATE_ON) {
+                            ise_send_event(MVK_Shift_On, KEY_MASK_NULL);
+                        }
+                        else if (desc->shift_state == SCL_SHIFT_STATE_LOCK) {
+                            ise_send_event(MVK_Shift_Lock, KEY_MASK_NULL);
+                        }
+                        ret = SCL_EVENT_PASS_ON;
                     }
-                    ret = SCL_EVENT_PASS_ON;
                 }
             }
             g_need_send_shift_event = FALSE;
@@ -707,8 +714,11 @@ ise_show(int ic)
         }
         g_keyboard_state.ic = ic;
         /* Reset input mode if the current language is not the selected language */
-        if (g_config_values.selected_language.compare(_language_manager.get_current_language()) != 0) {
-            reset_inputmode = TRUE;
+        const sclchar * cur_lang = _language_manager.get_current_language();
+        if (cur_lang) {
+            if (g_config_values.selected_language.compare(cur_lang) != 0) {
+                reset_inputmode = TRUE;
+            }
         }
         /* No matter what, just reset the inputmode if it needs to */
         if (g_keyboard_state.need_reset) {
@@ -965,12 +975,15 @@ ise_set_caps_mode(unsigned int mode)
     } else {
         g_keyboard_state.caps_mode = FALSE;
     }
-    LANGUAGE_INFO *info = _language_manager.get_language_info(_language_manager.get_current_language());
-    if (info) {
-        if (info->accepts_caps_mode) {
-            set_caps_mode(g_keyboard_state.caps_mode);
-        } else {
-            g_ui->set_shift_state(SCL_SHIFT_STATE_OFF);
+    const sclchar * cur_lang = _language_manager.get_current_language();
+    if (cur_lang) {
+        LANGUAGE_INFO *info = _language_manager.get_language_info(cur_lang);
+        if (info) {
+            if (info->accepts_caps_mode) {
+                set_caps_mode(g_keyboard_state.caps_mode);
+            } else {
+                g_ui->set_shift_state(SCL_SHIFT_STATE_OFF);
+            }
         }
     }
 }
old mode 100755 (executable)
new mode 100644 (file)
index 4d3c119..8d50c6c
@@ -103,16 +103,19 @@ CSDKISE::process_key_type_char(const SclUIEventDesc& event_desc)
     // patch for Chinese symbol ^
     // Chinese engine will regards ^ as ……
     // this patch is to avoid this
-    if (0 == strcmp(_language_manager.get_current_language(), "Chinese")) {
-        if (event_desc.key_event == '^') {
-            ise_forward_key_event(event_desc.key_event);
-            return SCL_EVENT_DONE;
+    const sclchar * cur_lang = _language_manager.get_current_language();
+    if (cur_lang) {
+        if (0 == strcmp(cur_lang, "Chinese")) {
+            if (event_desc.key_event == '^') {
+                ise_forward_key_event(event_desc.key_event);
+                return SCL_EVENT_DONE;
+            }
         }
     }
     // patch for Chinese symbol ^ end
     /* If longkey symbol was pressed, let's flush the preedit buffer */
     if (event_desc.key_modifier == KEY_MODIFIER_LONGKEY) {
-        flush_imengine(_language_manager.get_current_language());
+        flush_imengine(cur_lang);
     }
 
 
@@ -122,17 +125,18 @@ CSDKISE::process_key_type_char(const SclUIEventDesc& event_desc)
 SCLEventReturnType CSDKISE::on_event_key_clicked(SclUIEventDesc event_desc)
 {
     SCLEventReturnType ret = SCL_EVENT_PASS_ON;
+    const sclchar * cur_lang = _language_manager.get_current_language();
 
     switch (event_desc.key_type) {
         case KEY_TYPE_CHAR:
             ret = process_key_type_char(event_desc);
             break;
         case KEY_TYPE_STRING:
-            flush_imengine(_language_manager.get_current_language());
+            flush_imengine(cur_lang);
             break;
         case KEY_TYPE_MODECHANGE:
             {
-                flush_imengine(_language_manager.get_current_language());
+                flush_imengine(cur_lang);
             }
             break;
         case KEY_TYPE_CONTROL:
@@ -143,7 +147,7 @@ SCLEventReturnType CSDKISE::on_event_key_clicked(SclUIEventDesc event_desc)
             event_desc.key_event != MVK_Shift_Lock &&
             event_desc.key_event != MVK_space &&
             event_desc.key_event != MVK_Return) {
-            flush_imengine(_language_manager.get_current_language());
+            flush_imengine(cur_lang);
         }
         if (event_desc.key_event == MVK_space) {
             if (_language_manager.get_enabled_languages_num() > 1) {
@@ -157,25 +161,27 @@ SCLEventReturnType CSDKISE::on_event_key_clicked(SclUIEventDesc event_desc)
                     _language_manager.select_next_language();
                     ret = SCL_EVENT_DONE;
                 }
-                LANGUAGE_INFO *info = _language_manager.get_language_info(_language_manager.get_current_language());
-                if (info) {
-                    if (info->accepts_caps_mode) {
-                        // FIXME this if condition means the AC is off
-                        if (g_keyboard_state.layout != ISE_LAYOUT_STYLE_NORMAL) {
+                if (cur_lang) {
+                    LANGUAGE_INFO *info = _language_manager.get_language_info(cur_lang);
+                    if (info) {
+                        if (info->accepts_caps_mode) {
+                            // FIXME this if condition means the AC is off
+                            if (g_keyboard_state.layout != ISE_LAYOUT_STYLE_NORMAL) {
+                                g_ui->set_autocapital_shift_state(TRUE);
+                                g_ui->set_shift_state(SCL_SHIFT_STATE_OFF);
+                            }
+
+                            // normal layout means the AC is on
+                            else {
+                                g_ui->set_autocapital_shift_state(FALSE);
+                                ise_send_event(MVK_Shift_Enable, KEY_MASK_NULL);
+                                set_caps_mode(g_keyboard_state.caps_mode);
+                            }
+                        } else {
                             g_ui->set_autocapital_shift_state(TRUE);
+                            ise_send_event(MVK_Shift_Disable, KEY_MASK_NULL);
                             g_ui->set_shift_state(SCL_SHIFT_STATE_OFF);
                         }
-
-                        // normal layout means the AC is on
-                        else {
-                            g_ui->set_autocapital_shift_state(FALSE);
-                            ise_send_event(MVK_Shift_Enable, KEY_MASK_NULL);
-                            set_caps_mode(g_keyboard_state.caps_mode);
-                        }
-                    } else {
-                        g_ui->set_autocapital_shift_state(TRUE);
-                        ise_send_event(MVK_Shift_Disable, KEY_MASK_NULL);
-                        g_ui->set_shift_state(SCL_SHIFT_STATE_OFF);
                     }
                 }
             } else {