summaryrefslogtreecommitdiff
path: root/gladeui
diff options
context:
space:
mode:
authorJuan Pablo Ugarte <juanpablougarte@gmail.com>2020-08-07 11:40:51 -0300
committerJuan Pablo Ugarte <juanpablougarte@gmail.com>2020-08-07 13:07:38 -0300
commitb8af75b03585adc5378eba42f6499751fe8ecb0b (patch)
tree9ddf5969c3d17864290b00de965454c2fa342474 /gladeui
parentaec114b6c11a2943a48e41a34250f1e608044b2a (diff)
downloadglade-b8af75b03585adc5378eba42f6499751fe8ecb0b.tar.gz
GladeInspector: plug object leak
Fix leak in button_press_cb(). Use g_autoptr when getting an object from a model.
Diffstat (limited to 'gladeui')
-rw-r--r--gladeui/glade-inspector.c28
1 files changed, 10 insertions, 18 deletions
diff --git a/gladeui/glade-inspector.c b/gladeui/glade-inspector.c
index cf5f6c2b..9c176d52 100644
--- a/gladeui/glade-inspector.c
+++ b/gladeui/glade-inspector.c
@@ -290,19 +290,16 @@ search_common_matches (GtkTreeModel *model,
GtkTreeIter *iter,
CommonMatchData *data)
{
+ g_autoptr(GObject) obj = NULL;
GladeWidget *gwidget;
const gchar *name;
- GObject *obj;
gboolean match;
gtk_tree_model_get (model, iter, GLADE_PROJECT_MODEL_COLUMN_OBJECT, &obj, -1);
gwidget = glade_widget_get_from_gobject (obj);
if (!glade_widget_has_name (gwidget))
- {
- g_object_unref (obj);
- return FALSE;
- }
+ return FALSE;
name = glade_widget_get_name (gwidget);
match = (strncmp (data->text, name, strlen (data->text)) == 0);
@@ -318,7 +315,6 @@ search_common_matches (GtkTreeModel *model,
data->common_text = g_strdup (name);
}
- g_object_unref (obj);
return FALSE;
}
@@ -728,16 +724,14 @@ selection_foreach_func (GtkTreeModel *model,
GtkTreeIter *iter,
GList **selection)
{
- GObject *object;
+ g_autoptr(GObject) object = NULL;
- gtk_tree_model_get (model, iter, GLADE_PROJECT_MODEL_COLUMN_OBJECT, &object,
+ gtk_tree_model_get (model, iter,
+ GLADE_PROJECT_MODEL_COLUMN_OBJECT, &object,
-1);
if (object)
- {
- *selection = g_list_prepend (*selection, object);
- g_object_unref (object);
- }
+ *selection = g_list_prepend (*selection, object);
}
static void
@@ -807,10 +801,11 @@ button_press_cb (GtkWidget *widget,
NULL, NULL) && path != NULL)
{
GtkTreeIter iter;
- GladeWidget *object = NULL;
if (gtk_tree_model_get_iter (GTK_TREE_MODEL (priv->project),
&iter, path))
{
+ g_autoptr (GladeWidget) object = NULL;
+
/* now we can obtain the widget from the iter.
*/
gtk_tree_model_get (GTK_TREE_MODEL (priv->project), &iter,
@@ -862,8 +857,8 @@ glade_inspector_name_cell_data_func (GtkTreeViewColumn *column,
GtkTreeIter *iter,
gpointer data)
{
+ g_autoptr(GObject) obj = NULL;
GladeWidget *gwidget;
- GObject *obj;
gtk_tree_model_get (model, iter,
GLADE_PROJECT_MODEL_COLUMN_OBJECT, &obj,
@@ -875,8 +870,6 @@ glade_inspector_name_cell_data_func (GtkTreeViewColumn *column,
(glade_widget_has_name (gwidget)) ?
glade_widget_get_display_name (gwidget) : NULL,
NULL);
-
- g_object_unref (obj);
}
@@ -1098,7 +1091,7 @@ glade_inspector_get_selected_items (GladeInspector *inspector)
GtkTreeIter filter_iter;
GtkTreeIter iter;
GtkTreePath *path = (GtkTreePath *) paths->data;
- GObject *object = NULL;
+ g_autoptr(GObject) object = NULL;
gtk_tree_model_get_iter (priv->filter, &filter_iter, path);
gtk_tree_model_filter_convert_iter_to_child_iter (GTK_TREE_MODEL_FILTER
@@ -1107,7 +1100,6 @@ glade_inspector_get_selected_items (GladeInspector *inspector)
gtk_tree_model_get (GTK_TREE_MODEL (priv->project), &iter,
GLADE_PROJECT_MODEL_COLUMN_OBJECT, &object, -1);
- g_object_unref (object);
items = g_list_prepend (items, glade_widget_get_from_gobject (object));
}