discomfitor pushed a commit to branch master.

http://git.enlightenment.org/core/enlightenment.git/commit/?id=daa98e867d5340fac9ee087e637be38f653b01fe

commit daa98e867d5340fac9ee087e637be38f653b01fe
Author: Mike Blumenkrantz <[email protected]>
Date:   Thu Mar 27 09:59:48 2014 -0400

    fix lots of edje emits on non-edje objects
---
 src/bin/e_comp_object.c         |  3 ++-
 src/bin/e_entry.c               |  4 ++--
 src/bin/e_fm.c                  |  3 ---
 src/bin/e_menu.c                | 12 ++++++------
 src/bin/e_widget_toolbar.c      |  4 ++--
 src/modules/ibar/e_mod_main.c   |  8 ++++----
 src/modules/tasks/e_mod_main.c  |  3 ++-
 src/modules/winlist/e_winlist.c |  8 ++++----
 8 files changed, 22 insertions(+), 23 deletions(-)

diff --git a/src/bin/e_comp_object.c b/src/bin/e_comp_object.c
index 30f0c28..7677133 100644
--- a/src/bin/e_comp_object.c
+++ b/src/bin/e_comp_object.c
@@ -2788,7 +2788,8 @@ e_comp_object_signal_emit(Evas_Object *obj, const char 
*sig, const char *src)
    //INF("EMIT %p: %s %s", cw->ec, sig, src);
    edje_object_signal_emit(cw->shobj, sig, src);
    if (cw->frame_object) edje_object_signal_emit(cw->frame_object, sig, src);
-   if (cw->frame_icon) edje_object_signal_emit(cw->frame_icon, sig, src);
+   if (cw->frame_icon && e_icon_edje_get(cw->frame_icon))
+     edje_object_signal_emit(e_icon_edje_get(cw->frame_icon), sig, src);
    EINA_INLIST_REVERSE_FOREACH(_e_comp_object_movers, prov)
      {
         if (!e_util_glob_match(sig, prov->sig)) continue;
diff --git a/src/bin/e_entry.c b/src/bin/e_entry.c
index e8e0c55..874d0b9 100644
--- a/src/bin/e_entry.c
+++ b/src/bin/e_entry.c
@@ -275,7 +275,7 @@ e_entry_focus(Evas_Object *entry)
    if ((sd->enabled) && (!sd->noedit))
      evas_object_focus_set(sd->entry_object, EINA_TRUE);
    edje_object_signal_emit(sd->entry_object, "e,state,focused", "e");
-   edje_object_signal_emit(sd->scroll_object, "e,state,focused", "e");
+   edje_object_signal_emit(e_scrollframe_edje_object_get(sd->scroll_object), 
"e,state,focused", "e");
 
    edje_object_part_text_cursor_end_set(sd->entry_object, ENTRY_PART_NAME, 
EDJE_CURSOR_MAIN);
    if ((sd->enabled) && (!sd->noedit))
@@ -302,7 +302,7 @@ e_entry_unfocus(Evas_Object *entry)
      return;
 
    edje_object_signal_emit(sd->entry_object, "e,state,unfocused", "e");
-   edje_object_signal_emit(sd->scroll_object, "e,state,unfocused", "e");
+   edje_object_signal_emit(e_scrollframe_edje_object_get(sd->scroll_object), 
"e,state,unfocused", "e");
    evas_object_focus_set(sd->entry_object, EINA_FALSE);
    edje_object_signal_emit(sd->entry_object, "e,action,hide,cursor", "e");
    sd->focused = EINA_FALSE;
diff --git a/src/bin/e_fm.c b/src/bin/e_fm.c
index a1aeca2..bc6bec0 100644
--- a/src/bin/e_fm.c
+++ b/src/bin/e_fm.c
@@ -4888,7 +4888,6 @@ _e_fm2_icon_realize(E_Fm2_Icon *ic)
         /* FIXME: while listing dirs need to use icons in-place and not
          * unrealize and re-realize */
         edje_object_signal_emit(ic->obj, "e,state,selected", "e");
-        edje_object_signal_emit(ic->obj_icon, "e,state,selected", "e");
         selectraise = edje_object_data_get(ic->obj, "selectraise");
         if ((selectraise) && (!strcmp(selectraise, "on")))
           evas_object_stack_below(ic->obj, ic->sd->drop);
@@ -5049,7 +5048,6 @@ _e_fm2_icon_select(E_Fm2_Icon *ic)
           _e_fm2_icon_entry_widget_accept(ic->sd->iop_icon);
 
         edje_object_signal_emit(ic->obj, "e,state,selected", "e");
-        edje_object_signal_emit(ic->obj_icon, "e,state,selected", "e");
         evas_object_stack_below(ic->obj, ic->sd->drop);
         selectraise = edje_object_data_get(ic->obj, "selectraise");
         if ((selectraise) && (!strcmp(selectraise, "on")))
@@ -5075,7 +5073,6 @@ _e_fm2_icon_deselect(E_Fm2_Icon *ic)
           _e_fm2_icon_entry_widget_del(ic);
 
         edje_object_signal_emit(ic->obj, "e,state,unselected", "e");
-        edje_object_signal_emit(ic->obj_icon, "e,state,unselected", "e");
         stacking = edje_object_data_get(ic->obj, "stacking");
         selectraise = edje_object_data_get(ic->obj, "selectraise");
         if ((selectraise) && (!strcmp(selectraise, "on")))
diff --git a/src/bin/e_menu.c b/src/bin/e_menu.c
index bf6c294..1de74d0 100644
--- a/src/bin/e_menu.c
+++ b/src/bin/e_menu.c
@@ -880,11 +880,11 @@ e_menu_item_toggle_set(E_Menu_Item *mi, int tog)
           edje_object_signal_emit(mi->bg_object, "e,state,on", "e");
         if (mi->icon_bg_object)
           edje_object_signal_emit(mi->icon_bg_object, "e,state,on", "e");
-        if (mi->label_object)
+        if (mi->label_object && eo_isa(mi->submenu_object, EDJE_OBJ_CLASS))
           edje_object_signal_emit(mi->label_object, "e,state,on", "e");
-        if (mi->submenu_object)
+        if (mi->submenu_object && eo_isa(mi->submenu_object, EDJE_OBJ_CLASS))
           edje_object_signal_emit(mi->submenu_object, "e,state,on", "e");
-        if (mi->toggle_object)
+        if (mi->toggle_object && eo_isa(mi->submenu_object, EDJE_OBJ_CLASS))
           edje_object_signal_emit(mi->toggle_object, "e,state,on", "e");
         if (mi->menu->bg_object)
           edje_object_signal_emit(mi->menu->bg_object, "e,state,on", "e");
@@ -896,11 +896,11 @@ e_menu_item_toggle_set(E_Menu_Item *mi, int tog)
           edje_object_signal_emit(mi->bg_object, "e,state,off", "e");
         if (mi->icon_bg_object)
           edje_object_signal_emit(mi->icon_bg_object, "e,state,off", "e");
-        if (mi->label_object)
+        if (mi->label_object && eo_isa(mi->submenu_object, EDJE_OBJ_CLASS))
           edje_object_signal_emit(mi->label_object, "e,state,off", "e");
-        if (mi->submenu_object)
+        if (mi->submenu_object && eo_isa(mi->submenu_object, EDJE_OBJ_CLASS))
           edje_object_signal_emit(mi->submenu_object, "e,state,off", "e");
-        if (mi->toggle_object)
+        if (mi->toggle_object && eo_isa(mi->submenu_object, EDJE_OBJ_CLASS))
           edje_object_signal_emit(mi->toggle_object, "e,state,off", "e");
         if (mi->menu->bg_object)
           edje_object_signal_emit(mi->menu->bg_object, "e,state,off", "e");
diff --git a/src/bin/e_widget_toolbar.c b/src/bin/e_widget_toolbar.c
index 612958c..d5e263e 100644
--- a/src/bin/e_widget_toolbar.c
+++ b/src/bin/e_widget_toolbar.c
@@ -533,12 +533,12 @@ _e_wid_focus_hook(Evas_Object *obj)
    if (!(wd = e_widget_data_get(obj))) return;
    if (e_widget_focus_get(obj))
      {
-        edje_object_signal_emit(wd->o_base, "e,state,focused", "e");
+        edje_object_signal_emit(e_scrollframe_edje_object_get(wd->o_base), 
"e,state,focused", "e");
         evas_object_focus_set(obj, EINA_TRUE);
      }
    else
      {
-        edje_object_signal_emit(wd->o_base, "e,state,unfocused", "e");
+        edje_object_signal_emit(e_scrollframe_edje_object_get(wd->o_base), 
"e,state,unfocused", "e");
         evas_object_focus_set(obj, EINA_FALSE);
      }
 }
diff --git a/src/modules/ibar/e_mod_main.c b/src/modules/ibar/e_mod_main.c
index d963ccd..78e380c 100644
--- a/src/modules/ibar/e_mod_main.c
+++ b/src/modules/ibar/e_mod_main.c
@@ -1003,12 +1003,12 @@ _ibar_icon_signal_emit(IBar_Icon *ic, char *sig, char 
*src)
 {
    if (ic->o_holder)
      edje_object_signal_emit(ic->o_holder, sig, src);
-   if (ic->o_icon)
-     edje_object_signal_emit(ic->o_icon, sig, src);
+   if (ic->o_icon && e_icon_edje_get(ic->o_icon))
+     edje_object_signal_emit(e_icon_edje_get(ic->o_icon), sig, src);
    if (ic->o_holder2)
      edje_object_signal_emit(ic->o_holder2, sig, src);
-   if (ic->o_icon2)
-     edje_object_signal_emit(ic->o_icon2, sig, src);
+   if (ic->o_icon2 && e_icon_edje_get(ic->o_icon))
+     edje_object_signal_emit(e_icon_edje_get(ic->o_icon2), sig, src);
 }
 
 static void
diff --git a/src/modules/tasks/e_mod_main.c b/src/modules/tasks/e_mod_main.c
index d39ded0..1eb6d70 100644
--- a/src/modules/tasks/e_mod_main.c
+++ b/src/modules/tasks/e_mod_main.c
@@ -656,7 +656,8 @@ static void
 _tasks_item_signal_emit(Tasks_Item *item, char *sig, char *src)
 {
    if (item->o_item) edje_object_signal_emit(item->o_item, sig, src);
-   if (item->o_icon) edje_object_signal_emit(item->o_icon, sig, src);
+   if (item->o_icon && e_icon_edje_get(item->o_icon))
+     edje_object_signal_emit(e_icon_edje_get(item->o_icon), sig, src);
 }
 
 static Config_Item *
diff --git a/src/modules/winlist/e_winlist.c b/src/modules/winlist/e_winlist.c
index 5339ec5..5eaf6a3 100644
--- a/src/modules/winlist/e_winlist.c
+++ b/src/modules/winlist/e_winlist.c
@@ -929,8 +929,8 @@ _e_winlist_activate(void)
    if (!_win_selected) return;
    ww = _win_selected->data;
    edje_object_signal_emit(ww->bg_object, "e,state,selected", "e");
-   if (ww->icon_object)
-     edje_object_signal_emit(ww->icon_object,
+   if (ww->icon_object && e_icon_edje_get(ww->icon_object))
+     edje_object_signal_emit(e_icon_edje_get(ww->icon_object),
                              "e,state,selected", "e");
 
    if ((ww->client->iconic) &&
@@ -1030,8 +1030,8 @@ _e_winlist_deactivate(void)
    ww->was_iconified = 0;
    edje_object_part_text_set(_bg_object, "e.text.label", "");
    edje_object_signal_emit(ww->bg_object, "e,state,unselected", "e");
-   if (ww->icon_object)
-     edje_object_signal_emit(ww->icon_object,
+   if (ww->icon_object && e_icon_edje_get(ww->icon_object))
+     edje_object_signal_emit(e_icon_edje_get(ww->icon_object),
                              "e,state,unselected", "e");
    if (!ww->client->lock_focus_in)
      evas_object_focus_set(ww->client->frame, 0);

-- 


Reply via email to