Dear All, Hello~
The ctxpopup had used elm_ojbect_scroll_freeze_push(), pop() for the
scroll-freeze-on,of callback.
If user calls elm_object_scroll_freeze_pop() only after
elm_ojbect_scroll_freeze_push(), then it will be fine.
But sometimes user calls elm_object_scroll_freeze_pop() two times in a
row.. Then you can find there is infinite loop in following..
EAPI void
elm_widget_scroll_freeze_pop(Evas_Object *obj)
{
API_ENTRY return;
sd->scroll_freeze--;
if (sd->scroll_freeze < 0) sd->scroll_freeze = 0;
if (!sd->scroll_freeze)
evas_object_smart_callback_call(obj, "scroll-freeze-off", obj);
if (sd->parent_obj) elm_widget_scroll_freeze_pop(sd->parent_obj);
}
ctxpopup calls elm_widget_scroll_freeze_pop(wd->scr);finally. wd->scr
is widget data of ctxpopup.
Now the the sd->parent_obj is ctxpopup, next time
evas_object_smart_callback_call(obj, "scroll-freeze-off", obj); is
called again by using ctxpopup as obj.
Anyhow, other widgets..
the ctxpopup should use elm_smart_scroller_freeze_set() with an attached patch.
Sincerely,
Shinwoo Kim.
Index: src/lib/elc_ctxpopup.c
===================================================================
--- src/lib/elc_ctxpopup.c (revision 66566)
+++ src/lib/elc_ctxpopup.c (working copy)
@@ -148,7 +148,7 @@
Widget_Data *wd = elm_widget_data_get(obj);
if ((!wd) || (!wd->scr)) return;
- elm_object_scroll_freeze_push(wd->scr);
+ elm_smart_scroller_freeze_set(wd->scr, EINA_TRUE);
}
static void
@@ -158,7 +158,7 @@
Widget_Data *wd = elm_widget_data_get(obj);
if ((!wd) || (!wd->scr)) return;
- elm_object_scroll_freeze_pop(wd->scr);
+ elm_smart_scroller_freeze_set(wd->scr, EINA_FALSE);
}
static void
------------------------------------------------------------------------------
Write once. Port to many.
Get the SDK and tools to simplify cross-platform app development. Create
new or port existing apps to sell to consumers worldwide. Explore the
Intel AppUpSM program developer opportunity. appdeveloper.intel.com/join
http://p.sf.net/sfu/intel-appdev
_______________________________________________
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel