elm_object_item_del(ugd->gi_line);
elm_genlist_item_class_free(ugd->itc_line);
}
-
+
+ if (ugd->app_info == NULL) {
+ return;
+ }
+
for (i = 0; i < ugd->app_count; i++) {
if (ugd->app_info[i].gi_app != NULL) {
elm_object_item_del(ugd->app_info[i].gi_app);
}
}
- if (ugd->app_info != NULL) {
- free(ugd->app_info);
- }
+ free(ugd->app_info);
+}
+
+void setting_location_appman_init(struct ug_data *ugd)
+{
+ ugd->app_info = NULL;
+ ugd->itc_line = NULL;
+ ugd->itc_msg = NULL;
+ ugd->gi_msg = NULL;
+ ugd->gi_line = NULL;
}
int setting_location_get_location_app_list(Evas_Object *genlist, struct ug_data *ugd)
LOC_LOG("Fail to location_appman_get_app_list");
return FALSE;
}
-
+ setting_location_appman_init(ugd);
LOC_LOG("app count : %d", ugd->app_count);
if (ugd->app_count <= 0) {
LOC_LOG("There is no location application in DB");
if (ugd->app_count == 1 && (strcmp(app_list[0].package, "org.tizen.setting") == 0)) {
LOC_LOG("Setting application is only one location application");
- ugd->itc_line = NULL;
- ugd->itc_msg = NULL;
- ugd->gi_msg = NULL;
- ugd->gi_line = NULL;
return TRUE;
}
elm_object_item_disabled_set(ugd->gi_mypos, !(ugd->is_gps || ugd->is_net));
- if (ugd->app_count <= 1) {
+ if (ugd->app_info == NULL) {
return;
}
setting_location_free_itc(ugd->itc_mypos);
setting_location_free_itc(ugd->itc_msg);
setting_location_free_itc(ugd->itc_line);
- if (ugd->app_count > 1) {
+ if (ugd->app_info != NULL) {
for (i = 0; i < ugd->app_count; i++) {
setting_location_free_itc(ugd->app_info[i].itc_app);
}
- }
-
- if (ugd->app_info != NULL) {
free(ugd->app_info);
}
+
ug_destroy_me(ugd->ug);
}