diff options
-rw-r--r-- | src/minicontrol-provider.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/src/minicontrol-provider.c b/src/minicontrol-provider.c index 6576d58..9d3b459 100644 --- a/src/minicontrol-provider.c +++ b/src/minicontrol-provider.c @@ -145,6 +145,7 @@ static void _sig_to_provider_handler_cb(void *data, GVariant *parameters) unsigned int serialized_arg_length = 0; Evas_Coord width; Evas_Coord height; + minicontrol_event_cb event_callback; if (!pd) { ERR("provider is NULL"); @@ -170,12 +171,17 @@ static void _sig_to_provider_handler_cb(void *data, GVariant *parameters) MINICONTROL_EVENT_RESIZE, pd->name, width, height, 0, 0); } + event_callback = pd->event_callback; + g_rec_mutex_unlock(&pd->mutex); - if (pd->event_callback) - pd->event_callback(event, event_arg_bundle); + if (event_callback) + event_callback(event, event_arg_bundle); if (event_arg_bundle) bundle_free(event_arg_bundle); + + return; + } g_rec_mutex_unlock(&pd->mutex); } |