seoz pushed a commit to branch master.

http://git.enlightenment.org/core/elementary.git/commit/?id=6a683df1598a4c3293a33765cc60dde89b616f2f

commit 6a683df1598a4c3293a33765cc60dde89b616f2f
Author: Daniel Juyung Seo <[email protected]>
Date:   Fri Nov 8 21:49:52 2013 +0900

    button,inwin,radio,scroller,slider: Do not call smart_activate when the 
widget is disabled.
---
 src/lib/elm_button.c   | 10 ++++------
 src/lib/elm_inwin.c    |  2 ++
 src/lib/elm_radio.c    |  1 +
 src/lib/elm_scroller.c |  4 ++--
 src/lib/elm_slider.c   |  4 ++--
 5 files changed, 11 insertions(+), 10 deletions(-)

diff --git a/src/lib/elm_button.c b/src/lib/elm_button.c
index 835ba32..d89916f 100644
--- a/src/lib/elm_button.c
+++ b/src/lib/elm_button.c
@@ -82,14 +82,12 @@ _elm_button_smart_activate(Eo *obj, void *_pd EINA_UNUSED, 
va_list *list)
    Eina_Bool *ret = va_arg(*list, Eina_Bool *);
    if (ret) *ret = EINA_FALSE;
 
+   if (elm_widget_disabled_get(obj)) return;
    if (act != ELM_ACTIVATE_DEFAULT) return;
+   if (evas_object_freeze_events_get(obj)) return;
 
-   if (!elm_widget_disabled_get(obj) &&
-       !evas_object_freeze_events_get(obj))
-     {
-        evas_object_smart_callback_call(obj, SIG_CLICKED, NULL);
-        elm_layout_signal_emit(obj, "elm,anim,activate", "elm");
-     }
+   evas_object_smart_callback_call(obj, SIG_CLICKED, NULL);
+   elm_layout_signal_emit(obj, "elm,anim,activate", "elm");
 
    if (ret) *ret = EINA_TRUE;
 }
diff --git a/src/lib/elm_inwin.c b/src/lib/elm_inwin.c
index 8d7ed11..16696bc 100644
--- a/src/lib/elm_inwin.c
+++ b/src/lib/elm_inwin.c
@@ -140,6 +140,8 @@ _elm_inwin_smart_activate(Eo *obj, void *_pd EINA_UNUSED, 
va_list *list EINA_UNU
 {
    ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd);
 
+   if (elm_widget_disabled_get(obj)) return;
+
    evas_object_raise(obj);
    evas_object_show(obj);
    edje_object_signal_emit
diff --git a/src/lib/elm_radio.c b/src/lib/elm_radio.c
index 6883784..d30d6cc 100644
--- a/src/lib/elm_radio.c
+++ b/src/lib/elm_radio.c
@@ -526,6 +526,7 @@ _elm_radio_smart_activate(Eo *obj, void *_pd EINA_UNUSED, 
va_list *list)
    Eina_Bool *ret = va_arg(*list, Eina_Bool *);
    if (ret) *ret = EINA_FALSE;
 
+   if (elm_widget_disabled_get(obj)) return;
    if (act != ELM_ACTIVATE_DEFAULT) return;
 
    _activate(obj);
diff --git a/src/lib/elm_scroller.c b/src/lib/elm_scroller.c
index 0107121..48ffa5c 100644
--- a/src/lib/elm_scroller.c
+++ b/src/lib/elm_scroller.c
@@ -270,8 +270,8 @@ _elm_scroller_smart_activate(Eo *obj, void *_pd 
EINA_UNUSED, va_list *list)
    Evas_Coord page_x = 0;
    Evas_Coord page_y = 0;
 
-   if ((elm_widget_disabled_get(obj)) ||
-       (act == ELM_ACTIVATE_DEFAULT)) return;
+   if (elm_widget_disabled_get(obj)) return;
+   if (act != ELM_ACTIVATE_DEFAULT) return;
 
    eo_do(obj,
          elm_scrollable_interface_content_pos_get(&x, &y),
diff --git a/src/lib/elm_slider.c b/src/lib/elm_slider.c
index 6689566..8ae88e4 100644
--- a/src/lib/elm_slider.c
+++ b/src/lib/elm_slider.c
@@ -457,8 +457,8 @@ _elm_slider_smart_activate(Eo *obj, void *_pd, va_list 
*list)
    if (ret) *ret = EINA_FALSE;
    Elm_Slider_Smart_Data *sd = _pd;
 
-   if ((elm_widget_disabled_get(obj)) ||
-       (act == ELM_ACTIVATE_DEFAULT)) return;
+   if (elm_widget_disabled_get(obj)) return;
+   if (act != ELM_ACTIVATE_DEFAULT) return;
 
    if ((act == ELM_ACTIVATE_UP) ||
        (act == ELM_ACTIVATE_RIGHT))

-- 


Reply via email to