Modify dbus user_data from GList * to GList ** 22/152022/1 accepted/tizen/4.0/unified/20170925.071705 submit/tizen_4.0/20170922.065440
authorJiyong Min <jiyong.min@samsung.com>
Mon, 25 Sep 2017 00:20:35 +0000 (09:20 +0900)
committerJiyong Min <jiyong.min@samsung.com>
Mon, 25 Sep 2017 00:24:07 +0000 (00:24 +0000)
The pointer address of the list can be changeable during getting callback.
So GList ** will be used.

Change-Id: Ib1a8dd7d3264ac3054ccafb7b036fa38da6cd9cf
Signed-off-by: Jiyong Min <jiyong.min@samsung.com>
src/media_controller_ipc.c

index 09ed146170f5d6141a7700b5a4b51381fc5c1a48..5bde8e9aceba20cffe604f9a64318617f43630c9 100755 (executable)
@@ -46,7 +46,7 @@ static void __mc_ipc_signal_cb(GDBusConnection *connection,
                                                                        GVariant *parameters,
                                                                        gpointer user_data)
 {
-       GList *listener_list = (GList *)user_data;
+       GList **listener_list = (GList **)user_data;
        mc_ipc_listener_s *listener = NULL;
        unsigned int i = 0;
 
@@ -66,9 +66,9 @@ static void __mc_ipc_signal_cb(GDBusConnection *connection,
                return;
        }
 
-       unsigned int listener_cnt = g_list_length(listener_list);
+       unsigned int listener_cnt = g_list_length(*listener_list);
        for (i = 0; i < listener_cnt; i++) {
-               listener = (mc_ipc_listener_s *)g_list_nth_data(listener_list, i);
+               listener = (mc_ipc_listener_s *)g_list_nth_data(*listener_list, i);
                if (listener && !g_strcmp0(listener->key, key)) {
                        mc_debug("Received : [%s] (flags = %x) from %s.%s", message, internal_flags, listener->interface_name, listener->signal_name);
                        listener->callback(listener->interface_name, listener->signal_name, message, 0, listener->user_data);
@@ -196,7 +196,7 @@ int mc_ipc_register_listener(GList **listener_list, GDBusConnection *connection,
                return MEDIA_CONTROLLER_ERROR_OUT_OF_MEMORY;
        }
 
-       handler = _mc_ipc_signal_subscribe(connection, interface_name, signal_name, *listener_list);
+       handler = _mc_ipc_signal_subscribe(connection, interface_name, signal_name, listener_list);
 
        listener->dbus_conn = connection;
        listener->interface_name = strdup(interface_name);