[glade] bgo #700730 - Weird windows showing up when a dock is moved while editing a GtkBuilder file
- From: Sebastien Granjoux <sgranjoux src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [glade] bgo #700730 - Weird windows showing up when a dock is moved while editing a GtkBuilder file
- Date: Wed, 26 Jun 2013 19:54:12 +0000 (UTC)
commit b81f5455d572bc18f1c121f1d45af9d0fd62b39e
Author: Sébastien Granjoux <seb sfo free fr>
Date: Tue Jun 18 22:45:10 2013 +0200
bgo #700730 - Weird windows showing up when a dock is moved while editing a GtkBuilder file
gladeui/glade-design-layout.c | 17 +++++++++++++++--
1 files changed, 15 insertions(+), 2 deletions(-)
---
diff --git a/gladeui/glade-design-layout.c b/gladeui/glade-design-layout.c
index 6b84484..bd239d8 100644
--- a/gladeui/glade-design-layout.c
+++ b/gladeui/glade-design-layout.c
@@ -1602,6 +1602,7 @@ glade_design_layout_realize (GtkWidget * widget)
{
GladeDesignLayoutPrivate *priv;
GdkWindowAttr attributes;
+ GtkWidget *child;
gint attributes_mask, border_width;
GtkAllocation allocation;
GdkDisplay *display;
@@ -1641,14 +1642,26 @@ glade_design_layout_realize (GtkWidget * widget)
G_CALLBACK (pick_offscreen_child), widget);
/* Offscreen window */
+ child = gtk_bin_get_child (GTK_BIN (widget));
attributes.window_type = GDK_WINDOW_OFFSCREEN;
attributes.x = attributes.y = 0;
- attributes.width = attributes.height = 0;
+
+ if (child && gtk_widget_get_visible (child))
+ {
+ GtkAllocation alloc;
+
+ gtk_widget_get_allocation (child, &alloc);
+ attributes.width = alloc.width;
+ attributes.height = alloc.height;
+ }
+ else
+ attributes.width = attributes.height = 0;
priv->offscreen_window = gdk_window_new (gtk_widget_get_root_window (widget),
&attributes, attributes_mask);
gdk_window_set_user_data (priv->offscreen_window, widget);
-
+
+ if (child) gtk_widget_set_parent_window (child, priv->offscreen_window);
gdk_offscreen_window_set_embedder (priv->offscreen_window, priv->window);
g_signal_connect (priv->offscreen_window, "to-embedder",
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]