diff options
Diffstat (limited to 'ui/gtk/gui_utils.c')
-rw-r--r-- | ui/gtk/gui_utils.c | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/ui/gtk/gui_utils.c b/ui/gtk/gui_utils.c index 62607ca430..5d72960f3d 100644 --- a/ui/gtk/gui_utils.c +++ b/ui/gtk/gui_utils.c @@ -186,7 +186,8 @@ window_new(GtkWindowType type, GtkWidget * window_new_with_geom(GtkWindowType type, const gchar *title, - const gchar *geom_name) + const gchar *geom_name, + GtkWindowPosition pos) { window_geometry_t geom; GtkWidget *win = window_new(type, title); @@ -203,6 +204,17 @@ window_new_with_geom(GtkWindowType type, geom.set_size = TRUE; geom.set_maximized = FALSE; /* don't maximize until window is shown */ window_set_geometry(win, &geom); + } else if (pos != GTK_WIN_POS_NONE) { +#ifdef _WIN32 + /* Testing using GTK+ 2.24.10 shows that + * GTK_WIN_POS_CENTER_ON_PARENT doesn't seem to work on Windows, so + * use the next best thing. Is this a problem for all OS's though, + * or just Windows? Unknown. (Tested with Windows XP SP3 32-bit) + */ + if (pos == GTK_WIN_POS_CENTER_ON_PARENT) + pos = GTK_WIN_POS_CENTER; +#endif + gtk_window_set_position(GTK_WINDOW(win), pos); } } |