rimmed pushed a commit to branch master.

http://git.enlightenment.org/tools/eflete.git/commit/?id=9f3eaca80cb8fc03448f8afdd677d2fac03fb542

commit 9f3eaca80cb8fc03448f8afdd677d2fac03fb542
Author: Vitalii Vorobiov <vi.vorob...@samsung.com>
Date:   Tue Dec 8 13:58:46 2015 +0200

    popup: delete helper AFTER struct deletion
---
 src/bin/ui/popup.c | 32 +++++++++++++++-----------------
 1 file changed, 15 insertions(+), 17 deletions(-)

diff --git a/src/bin/ui/popup.c b/src/bin/ui/popup.c
index 74ef12f..e905fb6 100644
--- a/src/bin/ui/popup.c
+++ b/src/bin/ui/popup.c
@@ -22,7 +22,6 @@
 static Popup_Button btn_pressed;
 static Evas_Object *popup;
 static Evas_Object *helper;
-static Evas_Object *gengrid;
 static Evas_Object *fs;
 static Helper_Done_Cb dismiss_func;
 static void* func_data;
@@ -454,7 +453,7 @@ _grid_del(void *data,
 }
 
 Eina_Bool
-_image_gengrid_init()
+_image_gengrid_init(Helper_Data *helper_data)
 {
    Eina_List *l = NULL;
    Item *it = NULL;
@@ -477,14 +476,14 @@ _image_gengrid_init()
               it = (Item *)mem_malloc(sizeof(Item));
               it->image_name = eina_stringshare_add(res->name);
               it->source = eina_stringshare_add(res->source);
-              elm_gengrid_item_append(gengrid, gic, it, NULL, NULL);
+              elm_gengrid_item_append(helper_data->gengrid, gic, it, NULL, 
NULL);
            }
-         elm_gengrid_item_bring_in(elm_gengrid_first_item_get(gengrid),
+         
elm_gengrid_item_bring_in(elm_gengrid_first_item_get(helper_data->gengrid),
                                    ELM_GENGRID_ITEM_SCROLLTO_TOP);
      }
-   elm_scroller_policy_set(gengrid, ELM_SCROLLER_POLICY_OFF,
+   elm_scroller_policy_set(helper_data->gengrid, ELM_SCROLLER_POLICY_OFF,
                            ELM_SCROLLER_POLICY_AUTO);
-   evas_object_smart_calculate(gengrid);
+   evas_object_smart_calculate(helper_data->gengrid);
 
    return true;
 }
@@ -594,11 +593,10 @@ popup_gengrid_image_helper(const char *title, Evas_Object 
*follow_up,
    evas_object_size_hint_align_set(fs, EVAS_HINT_FILL, EVAS_HINT_FILL);
    evas_object_show(fs);
 
-   gengrid = elm_gengrid_add(fs);
-   helper_data->gengrid = gengrid;
+   helper_data->gengrid = elm_gengrid_add(fs);
    if (multi)
      {
-        elm_gengrid_multi_select_set(gengrid, true);
+        elm_gengrid_multi_select_set(helper_data->gengrid, true);
 
         BUTTON_ADD(fs, helper_data->button, _("Ok"))
         elm_object_part_content_set(helper, "elm.swallow.ok", 
helper_data->button);
@@ -607,16 +605,16 @@ popup_gengrid_image_helper(const char *title, Evas_Object 
*follow_up,
      }
    else
      {
-        elm_gengrid_multi_select_set(gengrid, false);
-        elm_gengrid_multi_select_mode_set(gengrid,
+        elm_gengrid_multi_select_set(helper_data->gengrid, false);
+        elm_gengrid_multi_select_mode_set(helper_data->gengrid,
                                           
ELM_OBJECT_MULTI_SELECT_MODE_WITH_CONTROL);
-        evas_object_smart_callback_add(gengrid, "clicked,double", _done_image, 
helper_data);
+        evas_object_smart_callback_add(helper_data->gengrid, "clicked,double", 
_done_image, helper_data);
      }
-   elm_gengrid_item_size_set(gengrid, ITEM_WIDTH, ITEM_HEIGHT);
-   elm_gengrid_align_set(gengrid, 0.0, 0.0);
-   elm_scroller_policy_set(gengrid, ELM_SCROLLER_POLICY_OFF,
+   elm_gengrid_item_size_set(helper_data->gengrid, ITEM_WIDTH, ITEM_HEIGHT);
+   elm_gengrid_align_set(helper_data->gengrid, 0.0, 0.0);
+   elm_scroller_policy_set(helper_data->gengrid, ELM_SCROLLER_POLICY_OFF,
                            ELM_SCROLLER_POLICY_OFF);
-   elm_object_part_content_set(fs, "eflete.swallow.genlist", gengrid);
+   elm_object_part_content_set(fs, "eflete.swallow.genlist", 
helper_data->gengrid);
 
    if (!gic)
      {
@@ -627,7 +625,7 @@ popup_gengrid_image_helper(const char *title, Evas_Object 
*follow_up,
         gic->func.del = _grid_del;
      }
 
-   _image_gengrid_init();
+   _image_gengrid_init(helper_data);
 
    ENTRY_ADD(fs, entry, true);
    elm_object_part_text_set(entry, "guide", _("Search"));

-- 


Reply via email to