hermet pushed a commit to branch master.
commit f8df137bee5aba9602689b902c7fae4577d8008b
Author: ChunEon Park <[email protected]>
Date: Mon May 20 20:42:38 2013 +0900
elemenatry/naviframe - don't pop the view if the freeze_event is enabled
and some views are alreadying popping.
---
src/lib/elc_naviframe.c | 11 +++++++----
1 file changed, 7 insertions(+), 4 deletions(-)
diff --git a/src/lib/elc_naviframe.c b/src/lib/elc_naviframe.c
index 349b5fb..490f608 100644
--- a/src/lib/elc_naviframe.c
+++ b/src/lib/elc_naviframe.c
@@ -1341,8 +1341,9 @@ _elm_naviframe_smart_del(Eo *obj, void *_pd, va_list
*list EINA_UNUSED)
}
static void
-_elm_naviframe_smart_event(Eo *obj, void *_pd EINA_UNUSED, va_list *list)
+_elm_naviframe_smart_event(Eo *obj, void *_pd, va_list *list)
{
+ Elm_Naviframe_Smart_Data *sd = _pd;
Evas_Object *source = va_arg(*list, Evas_Object *);
Evas_Callback_Type type = va_arg(*list, Evas_Callback_Type);
Evas_Event_Key_Down *ev = va_arg(*list, Evas_Event_Key_Down *);
@@ -1359,13 +1360,15 @@ _elm_naviframe_smart_event(Eo *obj, void *_pd
EINA_UNUSED, va_list *list)
eo_do(obj, elm_obj_naviframe_top_item_get((Elm_Object_Item **)&it));
if (!it) return;
+ ev->event_flags |= EVAS_EVENT_FLAG_ON_HOLD;
+ if (ret) *ret = EINA_TRUE;
+
+ if (sd->freeze_events && sd->popping) return;
+
//FIXME: Replace this below code to elm_naviframe_item_pop() at elm 2.0.
///Leave for compatibility.
if (it->title_prev_btn)
evas_object_smart_callback_call(it->title_prev_btn, SIG_CLICKED, NULL);
-
- ev->event_flags |= EVAS_EVENT_FLAG_ON_HOLD;
- if (ret) *ret = EINA_TRUE;
}
static void
--
------------------------------------------------------------------------------
AlienVault Unified Security Management (USM) platform delivers complete
security visibility with the essential security capabilities. Easily and
efficiently configure, manage, and operate all of your security controls
from a single console and one unified framework. Download a free trial.
http://p.sf.net/sfu/alienvault_d2d