Checked memory frees and added minor code fixes
[maevies] / src / mvs-minfo-provider.c
index ef079e8..af1fdf9 100644 (file)
@@ -120,7 +120,7 @@ mvs_minfo_provider_class_init (MvsMInfoProviderClass *klass)
 
         signals[RESPONSE_RECEIVED] = g_signal_new ("response-received", MVS_TYPE_MINFO_PROVIDER,
                         G_SIGNAL_RUN_LAST | G_SIGNAL_NO_RECURSE | G_SIGNAL_NO_HOOKS,
-                        G_STRUCT_OFFSET (MvsMInfoProviderClass, response_callback),
+                        0,
                         NULL,
                         NULL,
                         g_cclosure_marshal_VOID__POINTER,
@@ -149,9 +149,10 @@ create_tmdb_movie (xmlNodePtr node)
         xmlNodePtr cur_node = NULL;
         MvsTmdbMovie *movie_info = mvs_tmdb_movie_new ();
 
+        /* We use the loop to append each property to the movie object */
         for (cur_node = node; cur_node; cur_node = cur_node->next) {
                 if (cur_node->type == XML_ELEMENT_NODE) {
-                        gchar *value = xmlNodeGetContent (cur_node);
+                        const gchar *value = xmlNodeGetContent (cur_node);
 
                         g_object_set (movie_info, cur_node->name, value, NULL);
                 }
@@ -254,7 +255,6 @@ parse_json (const char *json_data, goffset length)
         for (i = 0; i < array_length; i++) {
                 const gchar *result =
                                 json_array_get_string_element (results, i);
-                g_message ("Result %d: %s\n", i, result);
                 MvsWatcMovie *watc_movie = mvs_watc_movie_new (result);
                 list = g_list_prepend (list, watc_movie);
         }
@@ -268,7 +268,7 @@ parse_json (const char *json_data, goffset length)
 }
 
 static void
-process_response (SoupSession *session, SoupMessage *message,
+process_response_cb (SoupSession *session, SoupMessage *message,
                     gpointer user_data)
 {
         MvsMInfoProvider *self = MVS_MINFO_PROVIDER (user_data);
@@ -295,6 +295,8 @@ process_response (SoupSession *session, SoupMessage *message,
         }
 
         g_signal_emit (self, signals[RESPONSE_RECEIVED], 0, list);
+
+        g_list_free (list);
 }
 
 static gchar *
@@ -346,7 +348,7 @@ mvs_minfo_provider_query (MvsMInfoProvider *self, MvsService service,
 
         if (message) {
                 soup_session_queue_message (session, message,
-                                process_response, self);
+                                process_response_cb, self);
                 message_queued = TRUE;
         }