summaryrefslogtreecommitdiff
path: root/src/gui/menus
diff options
context:
space:
mode:
Diffstat (limited to 'src/gui/menus')
-rw-r--r--src/gui/menus/view.c13
1 files changed, 10 insertions, 3 deletions
diff --git a/src/gui/menus/view.c b/src/gui/menus/view.c
index 81b06d6..70247a9 100644
--- a/src/gui/menus/view.c
+++ b/src/gui/menus/view.c
@@ -470,7 +470,8 @@ static void mcb_view_change_support(GtkRadioMenuItem *menuitem, gpointer unused)
GtkDockStation *station; /* Base du remplacement */
GLoadedContent *content; /* Contenu représenté */
GtkWidget *support; /* Nouvel afficheur généraliste*/
- GtkWidget *new; /* Panneau encapsulé */
+ GLineCursor *cursor; /* Position à transmettre */
+ GLoadedPanel *new; /* Panneau encapsulé */
/* On ne traite qu'une seule fois ! */
if (!gtk_check_menu_item_get_active(GTK_CHECK_MENU_ITEM(menuitem))) return;
@@ -492,11 +493,17 @@ static void mcb_view_change_support(GtkRadioMenuItem *menuitem, gpointer unused)
g_object_unref(G_OBJECT(content));
+ cursor = g_loaded_panel_get_cursor(panel);
+
gtk_dock_panel_change_active_widget(station, support);
- new = get_loaded_panel_from_built_view(support);
+ new = G_LOADED_PANEL(get_loaded_panel_from_built_view(support));
+
+ g_loaded_panel_set_cursor(new, cursor);
+
+ change_editor_items_current_view(new);
- change_editor_items_current_view(G_LOADED_PANEL(new));
+ g_object_unref(G_OBJECT(cursor));
g_object_unref(G_OBJECT(panel));