about-status: Fixed crash on item click 05/102905/1
authorBartlomiej Uliasz <b.uliasz@samsung.com>
Tue, 6 Dec 2016 16:24:33 +0000 (17:24 +0100)
committerBartlomiej Uliasz <b.uliasz@samsung.com>
Tue, 6 Dec 2016 16:24:33 +0000 (17:24 +0100)
Fixes issue TSAM-10941

Change-Id: If647cabe6459910742cc173127b7b97e0bb4e54a
Signed-off-by: Bartlomiej Uliasz <b.uliasz@samsung.com>
setting-about/src/setting-about-status.c

index 977a65179ce68da36fa4135bf5ec670963610948..63ebafef33d760258be7923a41f7b4c4a85db0a5 100755 (executable)
@@ -225,87 +225,61 @@ static int __generate_genlist(void *data)
        char str[MAX_DISPLAY_STR_LEN_ON_PHONE_INFO] = { 0, };
 
        /* [UI] Phone Number */
-       __get_phone_number(&ad->tel_h_list, str,
-                                               sizeof(str));
-       item_data = setting_create_Gendial_field_def(
-                       ad->status_gl,
-                       &(ad->itc_2text_2), NULL,
-                       NULL, SWALLOW_Type_INVALID, NULL,
-                       NULL, 0, _("IDS_ST_BODY_PHONE_NUMBER"), str, NULL);
-       if (item_data) {
+       __get_phone_number(&ad->tel_h_list, str, sizeof(str));
+       item_data = setting_create_Gendial_field_def(ad->status_gl,
+                       &(ad->itc_2text_2), NULL, ad, SWALLOW_Type_INVALID,
+                       NULL, NULL, 0, _("IDS_ST_BODY_PHONE_NUMBER"), str,
+                       NULL);
+       if (item_data)
                elm_object_item_disabled_set(item_data->item, EINA_TRUE);
-               elm_genlist_item_select_mode_set(item_data->item,
-               ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY);
-       }
 
        /* [UI] IMEI */
        int ret = __get_imei(&ad->tel_h_list, str, sizeof(str));
-       if (ret == -1) {
+       if (ret == -1)
                SETTING_TRACE_ERROR("call __stat_get_cpuinfo fail");
-       }
-       item_data = setting_create_Gendial_field_def(
-                       ad->status_gl,
-                       &(ad->itc_2text_2), NULL,
-                       NULL, SWALLOW_Type_INVALID, NULL,
-                       NULL, 0, _("IDS_ST_BODY_IMEI"), str, NULL);
-       if (item_data) {
+
+       item_data = setting_create_Gendial_field_def(ad->status_gl,
+                       &(ad->itc_2text_2), NULL, ad, SWALLOW_Type_INVALID,
+                       NULL, NULL, 0, _("IDS_ST_BODY_IMEI"), str, NULL);
+       if (item_data)
                elm_object_item_disabled_set(item_data->item, EINA_TRUE);
-               elm_genlist_item_select_mode_set(item_data->item,
-               ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY);
-       }
 
        /* [UI] Bluetooth address */
        __get_bluetooth_address(str, sizeof(str));
-       ad->item_data_bt = setting_create_Gendial_field_def(
-                       ad->status_gl,
-                       &(ad->itc_2text_2), NULL,
-                       NULL, SWALLOW_Type_INVALID, NULL,
-                       NULL, 0, _("IDS_ST_MBODY_BLUETOOTH_ADDRESS"), str, NULL);
-       if (ad->item_data_bt) {
+       ad->item_data_bt = setting_create_Gendial_field_def(ad->status_gl,
+                       &(ad->itc_2text_2), NULL, ad, SWALLOW_Type_INVALID,
+                       NULL, NULL, 0, _("IDS_ST_MBODY_BLUETOOTH_ADDRESS"), str,
+                       NULL);
+       if (ad->item_data_bt)
                elm_object_item_disabled_set(ad->item_data_bt->item, EINA_TRUE);
-               elm_genlist_item_select_mode_set(ad->item_data_bt->item,
-                               ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY);
-       }
 
        /* [UI] Wi-Fi MAC address */
        __get_wifi_mac_address(str, sizeof(str));
-       item_data = setting_create_Gendial_field_def(
-                       ad->status_gl,
-                       &(ad->itc_2text_2), NULL,
-                       NULL, SWALLOW_Type_INVALID, NULL,
-                       NULL, 0, _("IDS_ST_BODY_WI_FI_MAC_ADDRESS"), str, NULL);
-       if (item_data) {
+       item_data = setting_create_Gendial_field_def(ad->status_gl,
+                       &(ad->itc_2text_2), NULL, ad, SWALLOW_Type_INVALID,
+                       NULL, NULL, 0, _("IDS_ST_BODY_WI_FI_MAC_ADDRESS"), str,
+                       NULL);
+       if (item_data)
                elm_object_item_disabled_set(item_data->item, EINA_TRUE);
-               elm_genlist_item_select_mode_set(item_data->item,
-               ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY);
-       }
 
        /* [UI] Storage */
        __get_storage_capacity(str, sizeof(str));
-       ad->item_data_storage = setting_create_Gendial_field_def(
-                       ad->status_gl,
-                       &(ad->itc_2text_2), NULL,
-                       NULL, SWALLOW_Type_INVALID, NULL,
-                       NULL, 0, _("IDS_ST_BODY_STORAGE"), str, NULL);
-       if (ad->item_data_storage) {
+       ad->item_data_storage = setting_create_Gendial_field_def(ad->status_gl,
+                       &(ad->itc_2text_2), NULL, ad, SWALLOW_Type_INVALID,
+                       NULL, NULL, 0, _("IDS_ST_BODY_STORAGE"), str, NULL);
+       if (ad->item_data_storage)
                elm_object_item_disabled_set(ad->item_data_storage->item,
                                EINA_TRUE);
-               elm_genlist_item_select_mode_set(ad->item_data_storage->item,
-               ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY);
-       }
 
        /* [UI] Battery power */
        __get_battery_percent(str, sizeof(str));
        ad->item_data_battery = setting_create_Gendial_field_def(ad->status_gl,
-                       &(ad->itc_2text_2), NULL, NULL, SWALLOW_Type_INVALID,
+                       &(ad->itc_2text_2), NULL, ad, SWALLOW_Type_INVALID,
                        NULL, NULL, 0, _("IDS_ST_BODY_BATTERY_PERCENTAGE_ABB"),
                        str, NULL);
-       if (ad->item_data_battery) {
+       if (ad->item_data_battery)
                elm_object_item_disabled_set(ad->item_data_battery->item,
                                EINA_TRUE);
-               elm_genlist_item_select_mode_set(ad->item_data_battery->item,
-               ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY);
-       }
 
        /* [UI] CPU usage */
        float usr, sys;
@@ -318,28 +292,24 @@ static int __generate_genlist(void *data)
                snprintf(str, sizeof(str), "%.0f%s", usr + sys, "\%");
        }
        ad->item_data_cpu = setting_create_Gendial_field_def(ad->status_gl,
-                       &(ad->itc_2text_2), NULL, NULL, SWALLOW_Type_INVALID,
+                       &(ad->itc_2text_2), NULL, ad, SWALLOW_Type_INVALID,
                        NULL, NULL, 0, _("IDS_ST_BODY_CPU_USAGE"), str, NULL);
        if (ad->item_data_cpu) {
                elm_object_item_disabled_set(ad->item_data_cpu->item,
                                EINA_TRUE);
-               elm_genlist_item_select_mode_set(ad->item_data_cpu->item,
-                               ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY);
                __BACK_POINTER_SET(ad->item_data_cpu);
        }
 
        /* [UI] Device status */
        __get_device_status(str, sizeof(str));
-       item_data = setting_create_Gendial_field_def(
-                       ad->status_gl,
-                       &(ad->itc_2text_2), NULL,
-                       NULL, SWALLOW_Type_INVALID, NULL,
-                       NULL, 0, _("IDS_ST_MBODY_DEVICE_STATUS"), str, NULL);
-       if (item_data) {
+       item_data = setting_create_Gendial_field_def(ad->status_gl,
+                       &(ad->itc_2text_2), NULL, ad, SWALLOW_Type_INVALID,
+                       NULL, NULL, 0, _("IDS_ST_MBODY_DEVICE_STATUS"), str,
+                       NULL);
+       if (item_data)
                elm_object_item_disabled_set(item_data->item, EINA_TRUE);
-               elm_genlist_item_select_mode_set(item_data->item,
-               ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY);
-       }
+
+       elm_genlist_select_mode_set(ad->status_gl, ELM_OBJECT_SELECT_MODE_NONE);
 
        return SETTING_RETURN_SUCCESS;
 }