{
Edje_Message_Signal emsg;
const char *sep;
+ Eina_Bool broadcast = EINA_TRUE;
if (ed->delete_me) return;
if (!ed2) goto end;
_edje_emit(ed2, newsig, src);
+ broadcast = EINA_FALSE;
break;
case EDJE_PART_TYPE_EXTERNAL:
if (!ed2) goto end;
_edje_emit(ed2, newsig, src);
}
+ broadcast = EINA_FALSE;
break ;
case EDJE_PART_TYPE_BOX:
ed2 = _edje_fetch(child);
if (!ed2) goto end;
_edje_emit(ed2, newsig, src);
+ broadcast = EINA_FALSE;
}
break ;
emsg.data = NULL;
}
/* new sends code */
- edje_object_message_send(ed->obj, EDJE_MESSAGE_SIGNAL, 0, &emsg);
+ if (broadcast)
+ edje_object_message_send(ed->obj, EDJE_MESSAGE_SIGNAL, 0, &emsg);
+ else
+ _edje_message_send(ed, EDJE_QUEUE_SCRIPT, EDJE_MESSAGE_SIGNAL, 0, &emsg);
/* old send code - use api now
_edje_message_send(ed, EDJE_QUEUE_SCRIPT, EDJE_MESSAGE_SIGNAL, 0, &emsg);
EINA_LIST_FOREACH(ed->subobjs, l, obj)