summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/minicontrol-provider.c10
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);
}