[gtk+/gtk-3-0] GtkAppChooserButton: avoid some leaks



commit b9031f7bc81970979a240583d8314fa7c8a8631d
Author: Matthias Clasen <mclasen redhat com>
Date:   Fri Apr 1 23:52:46 2011 -0400

    GtkAppChooserButton: avoid some leaks
    
    gtk_tree_model_get() returns a reference for objects.
    https://bugzilla.gnome.org/show_bug.cgi?id=646462

 gtk/gtkappchooserbutton.c |   16 ++++++++++------
 1 files changed, 10 insertions(+), 6 deletions(-)
---
diff --git a/gtk/gtkappchooserbutton.c b/gtk/gtkappchooserbutton.c
index 706ce13..c50657d 100644
--- a/gtk/gtkappchooserbutton.c
+++ b/gtk/gtkappchooserbutton.c
@@ -153,25 +153,29 @@ select_application_func_cb (GtkTreeModel *model,
   SelectAppData *data = user_data;
   GAppInfo *app_to_match = data->info, *app = NULL;
   gboolean custom;
+  gboolean result;
 
   gtk_tree_model_get (model, iter,
                       COLUMN_APP_INFO, &app,
                       COLUMN_CUSTOM, &custom,
                       -1);
 
-  /* cutsom items are always after GAppInfos, so iterating further here
+  /* custom items are always after GAppInfos, so iterating further here
    * is just useless.
    */
   if (custom)
-    return TRUE;
-
-  if (g_app_info_equal (app, app_to_match))
+    result = TRUE;
+  else if (g_app_info_equal (app, app_to_match))
     {
       gtk_combo_box_set_active_iter (GTK_COMBO_BOX (data->self), iter);
-      return TRUE;
+      result = TRUE;
     }
+  else
+    result = FALSE;
 
-  return FALSE;
+  g_object_unref (app);
+
+  return result;
 }
 
 static void



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]