summaryrefslogtreecommitdiff
path: root/src/bin/controls.c
diff options
context:
space:
mode:
authorCarsten Haitzler (Rasterman) <raster@rasterman.com>2013-04-15 13:52:47 +0900
committerCarsten Haitzler (Rasterman) <raster@rasterman.com>2013-04-15 23:54:47 +0900
commitea2956b28f14394bb41ee0efc95ce6dd53d35002 (patch)
tree7f098627bd299dc9fe26afeba2fd0830d772c9d3 /src/bin/controls.c
parentfc60732d6498d19da983a98dfc181ab8b260edba (diff)
cover delayed delete being for already deleted panel from other window.
Diffstat (limited to 'src/bin/controls.c')
-rw-r--r--src/bin/controls.c23
1 files changed, 21 insertions, 2 deletions
diff --git a/src/bin/controls.c b/src/bin/controls.c
index f016dbb..732db09 100644
--- a/src/bin/controls.c
+++ b/src/bin/controls.c
@@ -23,8 +23,11 @@ _cb_ct_del_delay(void *data __UNUSED__)
23 evas_object_del(ct_over); 23 evas_object_del(ct_over);
24 ct_over = NULL; 24 ct_over = NULL;
25 } 25 }
26 evas_object_del(ct_frame); 26 if (ct_frame)
27 ct_frame = NULL; 27 {
28 evas_object_del(ct_frame);
29 ct_frame = NULL;
30 }
28 ct_del_timer = NULL; 31 ct_del_timer = NULL;
29 elm_cache_all_flush(); 32 elm_cache_all_flush();
30 return EINA_FALSE; 33 return EINA_FALSE;
@@ -89,6 +92,18 @@ _cb_mouse_down(void *data __UNUSED__, Evas *e __UNUSED__, Evas_Object *obj __UNU
89} 92}
90 93
91static void 94static void
95_cb_frame_del(void *data __UNUSED__, Evas *e __UNUSED__, Evas_Object *obj __UNUSED__, void *ev __UNUSED__)
96{
97 ct_frame = NULL;
98}
99
100static void
101_cb_over_del(void *data __UNUSED__, Evas *e __UNUSED__, Evas_Object *obj __UNUSED__, void *ev __UNUSED__)
102{
103 ct_over = NULL;
104}
105
106static void
92_cb_saved_del(void *data __UNUSED__, Evas *e __UNUSED__, Evas_Object *obj __UNUSED__, void *ev __UNUSED__) 107_cb_saved_del(void *data __UNUSED__, Evas *e __UNUSED__, Evas_Object *obj __UNUSED__, void *ev __UNUSED__)
93{ 108{
94 if ((obj == ct_win) || (obj == ct_term)) 109 if ((obj == ct_win) || (obj == ct_term))
@@ -227,6 +242,8 @@ controls_toggle(Evas_Object *win, Evas_Object *bg, Evas_Object *term,
227 242
228 o = _button_add(win, "About", "about", _cb_ct_about, term); 243 o = _button_add(win, "About", "about", _cb_ct_about, term);
229 elm_box_pack_end(ct_box, o); 244 elm_box_pack_end(ct_box, o);
245 evas_object_event_callback_add(ct_frame, EVAS_CALLBACK_DEL,
246 _cb_frame_del, NULL);
230 } 247 }
231 if (!ct_out) 248 if (!ct_out)
232 { 249 {
@@ -238,6 +255,8 @@ controls_toggle(Evas_Object *win, Evas_Object *bg, Evas_Object *term,
238 evas_object_show(o); 255 evas_object_show(o);
239 evas_object_event_callback_add(o, EVAS_CALLBACK_MOUSE_DOWN, 256 evas_object_event_callback_add(o, EVAS_CALLBACK_MOUSE_DOWN,
240 _cb_mouse_down, term); 257 _cb_mouse_down, term);
258 evas_object_event_callback_add(ct_over, EVAS_CALLBACK_DEL,
259 _cb_over_del, NULL);
241 260
242 ct_win = win; 261 ct_win = win;
243 ct_bg = bg; 262 ct_bg = bg;