summaryrefslogtreecommitdiff
path: root/gtk/gtkoverlay.c
diff options
context:
space:
mode:
authorMatthias Clasen <mclasen@redhat.com>2015-08-22 11:22:27 -0400
committerMatthias Clasen <mclasen@redhat.com>2015-08-22 15:51:42 -0400
commit2bf97567ceef6b33e2ea7d05e02d826aa448c01c (patch)
tree96bde80a3d28a1cc461fcf235b33f39a569af8c3 /gtk/gtkoverlay.c
parent1d2ff9a069a3f1a8d2510dfcf7177420d2b076e3 (diff)
downloadgtk+-2bf97567ceef6b33e2ea7d05e02d826aa448c01c.tar.gz
Revert "gtkoverlay: Optimize size allocations"
This reverts commit 93171cf4f346c0a5e71f274d012c3cacfe3880ba. This broke overlay controls in page 3 of widget-factory, gnome-photos, gnome-documents, etc.
Diffstat (limited to 'gtk/gtkoverlay.c')
-rw-r--r--gtk/gtkoverlay.c15
1 files changed, 4 insertions, 11 deletions
diff --git a/gtk/gtkoverlay.c b/gtk/gtkoverlay.c
index 7a7d6e1df5..1cac3225a5 100644
--- a/gtk/gtkoverlay.c
+++ b/gtk/gtkoverlay.c
@@ -295,8 +295,11 @@ gtk_overlay_child_allocate (GtkOverlay *overlay,
if (gtk_widget_get_mapped (GTK_WIDGET (overlay)))
{
+ /* Note: This calls show every size allocation, which makes
+ * us keep the z-order of the chilren, as gdk_window_show()
+ * does an implicit raise. */
if (gtk_widget_get_visible (child->widget))
- gdk_window_show_unraised (child->window);
+ gdk_window_show (child->window);
else if (gdk_window_is_visible (child->window))
gdk_window_hide (child->window);
}
@@ -580,16 +583,6 @@ gtk_overlay_reorder_overlay (GtkOverlay *overlay,
if (index == old_index)
return;
- if (new_link)
- {
- GtkOverlayChild *new_child_info = new_link->data;
- gdk_window_restack (child_info->window, new_child_info->window, TRUE);
- }
- else
- {
- gdk_window_raise (child_info->window);
- }
-
priv->children = g_slist_delete_link (priv->children, old_link);
priv->children = g_slist_insert_before (priv->children, new_link, child_info);