diff options
Diffstat (limited to 'src/gui')
-rw-r--r-- | src/gui/core/items.c | 6 | ||||
-rw-r--r-- | src/gui/menus/view.c | 3 |
2 files changed, 9 insertions, 0 deletions
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)); |