Fix bug in elm toggle. Do not invoke callback if no state change occured.
authorsanjeev <sanjeev@7cbeb6ba-43b4-40fd-8cce-4c39aea84d33>
Fri, 14 Oct 2011 06:51:55 +0000 (06:51 +0000)
committersanjeev <sanjeev@7cbeb6ba-43b4-40fd-8cce-4c39aea84d33>
Fri, 14 Oct 2011 06:51:55 +0000 (06:51 +0000)
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/elementary@64066 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

src/lib/elm_toggle.c

index 41e8457..6528826 100644 (file)
@@ -172,7 +172,7 @@ static void
 _signal_toggle_off(void *data, Evas_Object *obj __UNUSED__, const char *emission __UNUSED__, const char *source __UNUSED__)
 {
    Widget_Data *wd = elm_widget_data_get(data);
-   if (!wd) return;
+   if (!wd || !wd->state) return;
    wd->state = 0;
    if (wd->statep) *wd->statep = wd->state;
    evas_object_smart_callback_call(data, SIG_CHANGED, NULL);
@@ -182,7 +182,7 @@ static void
 _signal_toggle_on(void *data, Evas_Object *obj __UNUSED__, const char *emission __UNUSED__, const char *source __UNUSED__)
 {
    Widget_Data *wd = elm_widget_data_get(data);
-   if (!wd) return;
+   if (!wd || wd->state) return;
    wd->state = 1;
    if (wd->statep) *wd->statep = wd->state;
    evas_object_smart_callback_call(data, SIG_CHANGED, NULL);