# HG changeset patch # User bsmith@81767d24-ef19-dc11-ae90-00e081727c95 # Date 1046897733 0 # Node ID 49ac97060328a1e35ce8a9ef26ce2d7ef2594b14 # Parent 38d8908c4438032a0c3373c3d7d81504fb485aba Fixes for default window size when the window does not have the sizeable attribute set. diff -r 38d8908c4438 -r 49ac97060328 gtk/dw.c --- a/gtk/dw.c Wed Mar 05 19:40:45 2003 +0000 +++ b/gtk/dw.c Wed Mar 05 20:55:33 2003 +0000 @@ -1192,6 +1192,16 @@ gtk_widget_show(handle); if(GTK_WIDGET(handle)->window) { + int width = (int)gtk_object_get_data(GTK_OBJECT(handle), "_dw_width"); + int height = (int)gtk_object_get_data(GTK_OBJECT(handle), "_dw_height"); + + if(width && height) + { + gdk_window_resize(GTK_WIDGET(handle)->window, width, height); + gtk_object_set_data(GTK_OBJECT(handle), "_dw_width", 0); + gtk_object_set_data(GTK_OBJECT(handle), "_dw_height", 0); + } + gdk_window_raise(GTK_WIDGET(handle)->window); gdk_flush(); gdk_window_show(GTK_WIDGET(handle)->window); @@ -1605,6 +1615,9 @@ if(hwndOwner) gdk_window_reparent(GTK_WIDGET(tmp)->window, GTK_WIDGET(hwndOwner)->window, 0, 0); + if(flStyle & DW_FCF_SIZEBORDER) + gtk_object_set_data(GTK_OBJECT(tmp), "_dw_size", (gpointer)1); + DW_MUTEX_UNLOCK; return tmp; } @@ -5859,6 +5872,11 @@ if(handle->window) gdk_window_resize(handle->window, width - _dw_border_width, height - _dw_border_height); gtk_window_set_default_size(GTK_WINDOW(handle), width - _dw_border_width, height - _dw_border_height); + if(!gtk_object_get_data(GTK_OBJECT(handle), "_dw_size")) + { + gtk_object_set_data(GTK_OBJECT(handle), "_dw_width", (gpointer)width - _dw_border_width); + gtk_object_set_data(GTK_OBJECT(handle), "_dw_height", (gpointer)height - _dw_border_height); + } } else gtk_widget_set_usize(handle, width, height);