From 8b17768e12ac797e06b5829ee4a4b9ab8da78954 Mon Sep 17 00:00:00 2001 From: Cyrille Bagard Date: Wed, 8 Aug 2018 22:00:01 +0200 Subject: Improved reference count tracking. --- src/analysis/loaded.c | 2 ++ src/gui/core/items.c | 6 ++++++ src/gui/menus/view.c | 3 +++ 3 files changed, 11 insertions(+) diff --git a/src/analysis/loaded.c b/src/analysis/loaded.c index 9b7a2ff..8c45ef4 100644 --- a/src/analysis/loaded.c +++ b/src/analysis/loaded.c @@ -818,6 +818,8 @@ GtkWidget *get_loaded_panel_from_built_view(GtkWidget *view) } + g_object_ref(G_OBJECT(result)); + return result; } diff --git a/src/gui/core/items.c b/src/gui/core/items.c index 68d2556..dff177d 100644 --- a/src/gui/core/items.c +++ b/src/gui/core/items.c @@ -88,6 +88,9 @@ void change_editor_items_current_content(GLoadedContent *content) { _first_content_change = false; + if (content != NULL) + g_object_ref(G_OBJECT(content)); + set_current_content(content); editem_list_for_each(iter, _editem_list) @@ -196,6 +199,9 @@ void change_editor_items_current_view(GLoadedPanel *panel) { _first_panel_change = false; + if (panel != NULL) + g_object_ref(G_OBJECT(panel)); + set_current_view(panel); editem_list_for_each(iter, _editem_list) diff --git a/src/gui/menus/view.c b/src/gui/menus/view.c index 0abdf2a..6f113e2 100644 --- a/src/gui/menus/view.c +++ b/src/gui/menus/view.c @@ -755,6 +755,7 @@ static void change_current_view_support(unsigned int wanted) GLoadedPanel *new; /* Panneau encapsulé */ panel = get_current_view(); + station = get_dock_station_for_view_panel(GTK_WIDGET(panel)); content = g_loaded_panel_get_content(panel); @@ -773,6 +774,8 @@ static void change_current_view_support(unsigned int wanted) change_editor_items_current_view(new); + g_object_unref(G_OBJECT(new)); + g_object_unref(G_OBJECT(cursor)); g_object_unref(G_OBJECT(panel)); -- cgit v0.11.2-87-g4458