forked from AuroraMiddleware/gtk
gtkwindow: Clean up gtk_window_move_resize a bit more
Don't shadow existing variables. Instead of sharing the allocation and then overwriting the width/height when convenient, declare it in the block we use it in, as, really, the three different paths are all extremely different, and there's no sense in sharing the variable.
This commit is contained in:
parent
927b5a592f
commit
a3c12ffccb
@ -8730,7 +8730,6 @@ gtk_window_move_resize (GtkWindow *window)
|
||||
* the position request to be centered.
|
||||
*/
|
||||
GtkWindowPrivate *priv = window->priv;
|
||||
GtkAllocation allocation;
|
||||
GtkWidget *widget;
|
||||
GtkContainer *container;
|
||||
GtkWindowGeometryInfo *info;
|
||||
@ -8742,7 +8741,8 @@ gtk_window_move_resize (GtkWindow *window)
|
||||
gboolean configure_request_pos_changed;
|
||||
gboolean hints_changed; /* do we need to send these again */
|
||||
GtkWindowLastGeometryInfo saved_last_info;
|
||||
|
||||
int current_width, current_height;
|
||||
|
||||
widget = GTK_WIDGET (window);
|
||||
|
||||
gdk_window = gtk_widget_get_window (widget);
|
||||
@ -8918,15 +8918,15 @@ gtk_window_move_resize (GtkWindow *window)
|
||||
&new_geometry,
|
||||
new_flags);
|
||||
|
||||
allocation.x = 0;
|
||||
allocation.y = 0;
|
||||
allocation.width = gdk_window_get_width (gdk_window);
|
||||
allocation.height = gdk_window_get_height (gdk_window);
|
||||
current_width = gdk_window_get_width (gdk_window);
|
||||
current_height = gdk_window_get_height (gdk_window);
|
||||
|
||||
/* handle resizing/moving and widget tree allocation
|
||||
*/
|
||||
if (priv->configure_notify_received)
|
||||
{
|
||||
GtkAllocation allocation;
|
||||
|
||||
/* If we have received a configure event since
|
||||
* the last time in this function, we need to
|
||||
* accept our new size and size_allocate child widgets.
|
||||
@ -8940,6 +8940,11 @@ gtk_window_move_resize (GtkWindow *window)
|
||||
*/
|
||||
priv->configure_notify_received = FALSE;
|
||||
|
||||
allocation.x = 0;
|
||||
allocation.y = 0;
|
||||
allocation.width = current_width;
|
||||
allocation.height = current_height;
|
||||
|
||||
gtk_widget_size_allocate (widget, &allocation);
|
||||
|
||||
/* If the configure request changed, it means that
|
||||
@ -8983,8 +8988,7 @@ gtk_window_move_resize (GtkWindow *window)
|
||||
return; /* Bail out, we didn't really process the move/resize */
|
||||
}
|
||||
else if ((configure_request_size_changed || hints_changed) &&
|
||||
(allocation.width != new_request.width || allocation.height != new_request.height))
|
||||
|
||||
(current_width != new_request.width || current_height != new_request.height))
|
||||
{
|
||||
/* We are in one of the following situations:
|
||||
* A. configure_request_size_changed
|
||||
@ -9063,6 +9067,8 @@ gtk_window_move_resize (GtkWindow *window)
|
||||
}
|
||||
else
|
||||
{
|
||||
GtkAllocation allocation;
|
||||
|
||||
/* Handle any position changes.
|
||||
*/
|
||||
if (configure_request_pos_changed)
|
||||
@ -9071,8 +9077,14 @@ gtk_window_move_resize (GtkWindow *window)
|
||||
new_request.x, new_request.y);
|
||||
}
|
||||
|
||||
/* And run the resize queue.
|
||||
*/
|
||||
/* Our configure request didn't change size, but maybe some of
|
||||
* our child widgets have. Run a size allocate with our current
|
||||
* size to make sure that we re-layout our child widgets. */
|
||||
allocation.x = 0;
|
||||
allocation.y = 0;
|
||||
allocation.width = current_width;
|
||||
allocation.height = current_height;
|
||||
|
||||
gtk_widget_size_allocate (widget, &allocation);
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user