From 9aa5ba41c77a20263abc84ebe0dcda1ca6cbafb2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Enrico=20Tr=C3=B6ger?= Date: Tue, 7 Oct 2008 18:51:50 +0000 Subject: [PATCH] Plug some memory leaks due to some missing g_object_unref's. git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@3056 ea778897-0a13-0410-b9d1-a72fbfd435f5 --- ChangeLog | 7 +++++++ plugins/filebrowser.c | 1 + plugins/htmlchars.c | 1 + src/msgwindow.c | 3 +++ src/plugins.c | 1 + src/prefs.c | 1 + src/treeviews.c | 3 +++ 7 files changed, 17 insertions(+) diff --git a/ChangeLog b/ChangeLog index a4fd52552..0cba572ab 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +2008-10-07 Enrico Tröger + + * plugins/filebrowser.c, plugins/htmlchars.c, src/editor.c, + src/msgwindow.c, src/plugins.c, src/prefs.c, src/treeviews.c: + Plug some memory leaks due to some missing g_object_unref's. + + 2008-10-07 Nick Treleaven * plugins/splitwindow.c: diff --git a/plugins/filebrowser.c b/plugins/filebrowser.c index c116de995..301797d02 100644 --- a/plugins/filebrowser.c +++ b/plugins/filebrowser.c @@ -687,6 +687,7 @@ static void prepare_file_view(void) file_store = gtk_list_store_new(FILEVIEW_N_COLUMNS, G_TYPE_STRING, G_TYPE_STRING); gtk_tree_view_set_model(GTK_TREE_VIEW(file_view), GTK_TREE_MODEL(file_store)); + g_object_unref(file_store); icon_renderer = gtk_cell_renderer_pixbuf_new(); text_renderer = gtk_cell_renderer_text_new(); diff --git a/plugins/htmlchars.c b/plugins/htmlchars.c index 9f926299d..19c0eecb5 100644 --- a/plugins/htmlchars.c +++ b/plugins/htmlchars.c @@ -107,6 +107,7 @@ static void tools_show_dialog_insert_special_chars(void) sc_store = gtk_tree_store_new(N_COLUMNS, G_TYPE_STRING, G_TYPE_STRING); gtk_tree_view_set_model(GTK_TREE_VIEW(sc_tree), GTK_TREE_MODEL(sc_store)); + g_object_unref(sc_store); renderer = gtk_cell_renderer_text_new(); column = gtk_tree_view_column_new_with_attributes( diff --git a/src/msgwindow.c b/src/msgwindow.c index b46688c49..3bc651d55 100644 --- a/src/msgwindow.c +++ b/src/msgwindow.c @@ -108,6 +108,7 @@ static void prepare_status_tree_view(void) msgwindow.store_status = gtk_list_store_new(1, G_TYPE_STRING); gtk_tree_view_set_model(GTK_TREE_VIEW(msgwindow.tree_status), GTK_TREE_MODEL(msgwindow.store_status)); + g_object_unref(msgwindow.store_status); renderer = gtk_cell_renderer_text_new(); column = gtk_tree_view_column_new_with_attributes(_("Status messages"), renderer, "text", 0, NULL); @@ -137,6 +138,7 @@ static void prepare_msg_tree_view(void) msgwindow.store_msg = gtk_list_store_new(4, G_TYPE_INT, G_TYPE_POINTER, GDK_TYPE_COLOR, G_TYPE_STRING); gtk_tree_view_set_model(GTK_TREE_VIEW(msgwindow.tree_msg), GTK_TREE_MODEL(msgwindow.store_msg)); + g_object_unref(msgwindow.store_msg); renderer = gtk_cell_renderer_text_new(); column = gtk_tree_view_column_new_with_attributes(NULL, renderer, @@ -171,6 +173,7 @@ static void prepare_compiler_tree_view(void) msgwindow.store_compiler = gtk_list_store_new(2, GDK_TYPE_COLOR, G_TYPE_STRING); gtk_tree_view_set_model(GTK_TREE_VIEW(msgwindow.tree_compiler), GTK_TREE_MODEL(msgwindow.store_compiler)); + g_object_unref(msgwindow.store_compiler); renderer = gtk_cell_renderer_text_new(); column = gtk_tree_view_column_new_with_attributes(NULL, renderer, "foreground-gdk", 0, "text", 1, NULL); diff --git a/src/plugins.c b/src/plugins.c index df482b377..ee4d64a3d 100644 --- a/src/plugins.c +++ b/src/plugins.c @@ -1046,6 +1046,7 @@ static void pm_prepare_treeview(GtkWidget *tree, GtkListStore *store) } } gtk_tree_view_set_model(GTK_TREE_VIEW(tree), GTK_TREE_MODEL(store)); + g_object_unref(store); } diff --git a/src/prefs.c b/src/prefs.c index 4a9443aeb..0fa7e1b68 100644 --- a/src/prefs.c +++ b/src/prefs.c @@ -272,6 +272,7 @@ static void init_kb_tree(void) store = gtk_tree_store_new(3, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_INT); gtk_tree_view_set_model(GTK_TREE_VIEW(tree), GTK_TREE_MODEL(store)); + g_object_unref(store); renderer = gtk_cell_renderer_text_new(); column = gtk_tree_view_column_new_with_attributes(_("Action"), renderer, "text", KB_TREE_ACTION, NULL); diff --git a/src/treeviews.c b/src/treeviews.c index a20e4939e..498c4e21e 100644 --- a/src/treeviews.c +++ b/src/treeviews.c @@ -119,6 +119,8 @@ static void prepare_taglist(GtkWidget *tree, GtkTreeStore *store) pango_font_description_free(pfd); gtk_tree_view_set_model(GTK_TREE_VIEW(tree), GTK_TREE_MODEL(store)); + g_object_unref(store); + g_signal_connect(tree, "button-press-event", G_CALLBACK(on_treeviews_button_press_event), GINT_TO_POINTER(TREEVIEW_SYMBOL)); g_signal_connect(tree, "key-press-event", @@ -254,6 +256,7 @@ static void prepare_openfiles(void) store_openfiles = gtk_list_store_new(3, G_TYPE_STRING, G_TYPE_POINTER, GDK_TYPE_COLOR); #endif gtk_tree_view_set_model(GTK_TREE_VIEW(tv.tree_openfiles), GTK_TREE_MODEL(store_openfiles)); + g_object_unref(store_openfiles); /* set policy settings for the scolledwindow around the treeview again, because glade * doesn't keep the settings */