Revision 1911 src/mainwindow.c

mainwindow.c (revision 1911)
1403 1403
	GtkWidget *folder_wid  = GTK_WIDGET_PTR(mainwin->folderview);
1404 1404
	GtkWidget *summary_wid = GTK_WIDGET_PTR(mainwin->summaryview);
1405 1405
	GtkWidget *message_wid = GTK_WIDGET_PTR(mainwin->messageview);
1406
	GtkWidget *focus_widget;
1406 1407

  
1407 1408
	debug_print(_("Changing window separation type from %d to %d\n"),
1408 1409
		    mainwin->type, type);
1409 1410

  
1410 1411
	if (mainwin->type == type) return;
1411 1412

  
1413
	/* keep previous focus */
1414
	focus_widget = gtk_window_get_focus(GTK_WINDOW(mainwin->window));
1415

  
1412 1416
	/* remove widgets from those containers */
1413 1417
	gtk_widget_ref(folder_wid);
1414 1418
	gtk_widget_ref(summary_wid);
......
1442 1446
	gtk_widget_hide(mainwin->window);
1443 1447
	main_window_set_widgets(mainwin, type);
1444 1448
	gtk_widget_show(mainwin->window);
1449
	if (focus_widget)
1450
		gtk_widget_grab_focus(focus_widget);
1445 1451

  
1446 1452
	gtk_widget_unref(folder_wid);
1447 1453
	gtk_widget_unref(summary_wid);

Also available in: Unified diff