Hi,
This patch fix the bug http://trac.enlightenment.org/e/ticket/1308
The root cause of this bug is that when closing the window,
the glview widget need to invoke eng_gl_make_current() before calling
it's del_func. In eng_gl_make_current(), the re->win->egl_display
make the segfualt. It is because re->win has been nullized by
evas_object_hide()<--evas_object_del()<--evas_object_unref()<--
_elm_win_frame_cb_close() which is triggered by clicking the "close"
button.
I think it is resonable to destroy the re->win of a elm_win after
all smart data deleted.
Patch attached.
From a8ed356360fbea5ae715c083e239e66e552e4001 Mon Sep 17 00:00:00 2001
From: Alex Wu <zhiwen...@linux.intel.com>
Date: Thu, 9 Aug 2012 13:53:54 +0800
Subject: [PATCH] evas: hide the evas object after it's smart object deleted.
This patch fix the bug http://trac.enlightenment.org/e/ticket/1308
The root cause of this bug is that when closing the window,
the glview widget need to invoke eng_gl_make_current() before calling
it's del_func. In eng_gl_make_current(), the re->win->egl_display
make the segfualt. It is because re->win has been nullized by
evas_object_hide()<--evas_object_del()<--evas_object_unref()<--
_elm_win_frame_cb_close() which is triggered by clicking the "close"
button.
I think it is resonable to destroy the re->win of a elm_win after
all smart data deleted.
---
trunk/evas/src/lib/canvas/evas_object_main.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/trunk/evas/src/lib/canvas/evas_object_main.c
b/trunk/evas/src/lib/canvas/evas_object_main.c
index 955570b..fbdc8df 100644
--- a/trunk/evas/src/lib/canvas/evas_object_main.c
+++ b/trunk/evas/src/lib/canvas/evas_object_main.c
@@ -426,7 +426,6 @@ evas_object_del(Evas_Object *obj)
return;
}
- evas_object_hide(obj);
if (obj->focused)
{
obj->focused = EINA_FALSE;
@@ -462,6 +461,7 @@ evas_object_del(Evas_Object *obj)
evas_object_event_callback_call(obj, EVAS_CALLBACK_FREE, NULL,
_evas_event_counter);
_evas_post_event_callback_call(obj->layer->evas);
evas_object_smart_cleanup(obj);
+ evas_object_hide(obj);
obj->delete_me = 1;
evas_object_change(obj);
}
--
1.7.9.5
------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and
threat landscape has changed and how IT managers can respond. Discussions
will include endpoint security, mobile security and the latest in malware
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
_______________________________________________
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel