mirror of
https://gitlab.gnome.org/GNOME/gtk.git
synced 2024-11-19 01:40:10 +00:00
Warn when calling gtk_window_parse_geometry() on an empty window
gtk_window_parse_geometry() gets the size of the window in order to interpret the position of the window; calling it before, say, calling gtk_widget_show_all() on a window is a subtle trap, so add a warning in the case we can easily detect. https://bugzilla.gnome.org/show_bug.cgi?id=631794
This commit is contained in:
parent
88cf547029
commit
519d758711
@ -8820,6 +8820,7 @@ gtk_window_parse_geometry (GtkWindow *window,
|
|||||||
{
|
{
|
||||||
gint result, x = 0, y = 0;
|
gint result, x = 0, y = 0;
|
||||||
guint w, h;
|
guint w, h;
|
||||||
|
GtkWidget *child;
|
||||||
GdkGravity grav;
|
GdkGravity grav;
|
||||||
gboolean size_set, pos_set;
|
gboolean size_set, pos_set;
|
||||||
GdkScreen *screen;
|
GdkScreen *screen;
|
||||||
@ -8827,6 +8828,12 @@ gtk_window_parse_geometry (GtkWindow *window,
|
|||||||
g_return_val_if_fail (GTK_IS_WINDOW (window), FALSE);
|
g_return_val_if_fail (GTK_IS_WINDOW (window), FALSE);
|
||||||
g_return_val_if_fail (geometry != NULL, FALSE);
|
g_return_val_if_fail (geometry != NULL, FALSE);
|
||||||
|
|
||||||
|
child = gtk_bin_get_child (GTK_BIN (window));
|
||||||
|
if (!child || !gtk_widget_get_visible (child))
|
||||||
|
g_warning ("gtk_window_parse_geometry() called on a window with no "
|
||||||
|
"visible children; the window should be set up before "
|
||||||
|
"gtk_window_parse_geometry() is called.");
|
||||||
|
|
||||||
screen = gtk_window_check_screen (window);
|
screen = gtk_window_check_screen (window);
|
||||||
|
|
||||||
result = gtk_XParseGeometry (geometry, &x, &y, &w, &h);
|
result = gtk_XParseGeometry (geometry, &x, &y, &w, &h);
|
||||||
|
Loading…
Reference in New Issue
Block a user