forked from AuroraMiddleware/gtk
overlay: do not to set uninitialized values in the main allocation
gtk_widget_translate_coordinates() can fail in case the widget is not realized or there's no common ancestor. Don't use the x/y values returned by that method in that case, since their value is undefined.
This commit is contained in:
parent
421d27c858
commit
170e8712e9
@ -127,12 +127,22 @@ gtk_overlay_get_main_widget_allocation (GtkOverlay *overlay,
|
||||
{
|
||||
GtkWidget *grandchild;
|
||||
gint x, y;
|
||||
gboolean res;
|
||||
|
||||
grandchild = gtk_bin_get_child (GTK_BIN (main_widget));
|
||||
res = gtk_widget_translate_coordinates (grandchild, main_widget, 0, 0, &x, &y);
|
||||
|
||||
main_alloc.x = x;
|
||||
main_alloc.y = y;
|
||||
if (res)
|
||||
{
|
||||
main_alloc.x = x;
|
||||
main_alloc.y = y;
|
||||
}
|
||||
else
|
||||
{
|
||||
main_alloc.x = 0;
|
||||
main_alloc.y = 0;
|
||||
}
|
||||
|
||||
main_alloc.width = gtk_widget_get_allocated_width (grandchild);
|
||||
main_alloc.height = gtk_widget_get_allocated_height (grandchild);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user