From 9fcb28a6f5f5b9c3dcc6a6f40760cbe18f31f76f Mon Sep 17 00:00:00 2001 From: "Robert C. Helling" Date: Sun, 3 Mar 2013 20:30:04 +0100 Subject: [PATCH] Fix pane position bug Argh. Maxint is not at the bottom or at the right. We have to check against the size of the window to determine we are not saving a maximized position. Here is a fix. Signed-off-by: Robert C. Helling Signed-off-by: Dirk Hohndel --- gtk-gui.c | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/gtk-gui.c b/gtk-gui.c index 6125db3f5..d06d06e6f 100644 --- a/gtk-gui.c +++ b/gtk-gui.c @@ -327,9 +327,12 @@ void save_pane_position() { gint vpane_position = gtk_paned_get_position(GTK_PANED(vpane)); gint hpane_position = gtk_paned_get_position(GTK_PANED(hpane)); - if (vpane_position && vpane_position != 65535) + int window_width, window_height; + gtk_window_get_size(GTK_WINDOW (main_window), &window_width, &window_height); + + if (vpane_position && vpane_position < window_height - 12) subsurface_set_conf_int("vpane_position", vpane_position); - if (hpane_position && hpane_position != 65535) + if (hpane_position && hpane_position < window_width - 6 ) subsurface_set_conf_int("hpane_position", hpane_position); } @@ -1198,7 +1201,7 @@ static void view_three(GtkWidget *w, gpointer data) gtk_widget_get_allocation(hpane, &alloc); - if (hpane_position && hpane_position != 65535) + if (hpane_position) gtk_paned_set_position(GTK_PANED(hpane), hpane_position); else gtk_paned_set_position(GTK_PANED(hpane), alloc.width/2); @@ -1206,7 +1209,7 @@ static void view_three(GtkWidget *w, gpointer data) gtk_widget_get_allocation(vpane, &alloc); gtk_widget_size_request(notebook, &requisition); /* pick the requested size for the notebook plus 6 pixels for frame */ - if (vpane_position && vpane_position != 65535) + if (vpane_position) gtk_paned_set_position(GTK_PANED(vpane), vpane_position); else gtk_paned_set_position(GTK_PANED(vpane), requisition.height + 6);