Page MenuHomePhabricator

Signals sent with emit from edje theme for button widget don't arrive at callback function anymore
Closed, ResolvedPublic

Description

Since commit cb25699dacde420a0e0c3434065ab8dac242ee6e

emitted siganls form an adje themed button no longer arrive at an associated callback function.
A demo program button_signal.c and example edje file mulbmin.edj can be found here:


The signals in mulbmin.edc look like this:

script{
      emit("igj", "butt8a");
      set_state(PART:"stick", "nubi", 0.0);
}

and are connected to a button widget like this:

elm_theme_extension_add(NULL, "./mulbmin.edj");
btn_mul = elm_button_add(win);
elm_object_style_set(btn_mul, "mulbutt");
elm_object_signal_callback_add(btn_mul, "igi", "*butt*",  btn_mul_down_fun, NULL);
elm_object_signal_callback_add(btn_mul, "igj", "*butt*",  btn_mul_up_fun, NULL);

And a callback looks like

static void btn_mul_down_fun(void *data, Evas_Object *obj, const char *emission, const char *source)
{
   int val = 0;
   sscanf(source, "butt%x", &val);
   fprintf(stdout, "Yis Mul Down from %s [%i]\n", source, val);
}

Until commit f6ba674cd8ada4e018fd205dab2e877e9a19a820 this worked: When the button 'STICK' was clicked
output on the terminal would be like

Yis Mul Up from butt8a [138]
Yis Mul Down from butt8a [138]
Yis Mul Up from butt8a [138]
Yis Mul Down from butt8a [138]

But since cb25699dacde420a0e0c3434065ab8dac242ee6e this doesn't work anymore.

In contrast, signals sent from a slider widget themed with slider2.edj (the arrow at the bottom of the demo program) arrive at their callbacks. This edje file doesn't use the emit function, though.