summaryrefslogtreecommitdiff
path: root/gtk/gtksocket-x11.c
diff options
context:
space:
mode:
authorTristan Van Berkom <tristan.van.berkom@gmail.com>2010-08-30 14:56:28 +0900
committerTristan Van Berkom <tristan.van.berkom@gmail.com>2010-08-30 14:56:28 +0900
commit54d44a9bd04cfbed8426614fc69c027a46f41a14 (patch)
tree34bdf65a6e8d5d6d4016154345d1d803ba0da379 /gtk/gtksocket-x11.c
parentb3b22c31b997fb85b3319b392a1a69407703184c (diff)
parent67194ed77b153eb5a7eb6c596f3c20e274b7787a (diff)
downloadgtk+-native-layout.tar.gz
Merge branch 'master' into native-layoutnative-layout
Conflicts: gtk/gtkplug.c gtk/gtkscrolledwindow.c
Diffstat (limited to 'gtk/gtksocket-x11.c')
-rw-r--r--gtk/gtksocket-x11.c26
1 files changed, 18 insertions, 8 deletions
diff --git a/gtk/gtksocket-x11.c b/gtk/gtksocket-x11.c
index 9dd9aec67b..d1f4dc8c66 100644
--- a/gtk/gtksocket-x11.c
+++ b/gtk/gtksocket-x11.c
@@ -57,15 +57,17 @@ static gboolean xembed_get_info (GdkWindow *gdk_window,
GdkNativeWindow
_gtk_socket_windowing_get_id (GtkSocket *socket)
{
- return GDK_WINDOW_XWINDOW (GTK_WIDGET (socket)->window);
+ return GDK_WINDOW_XWINDOW (gtk_widget_get_window (GTK_WIDGET (socket)));
}
void
_gtk_socket_windowing_realize_window (GtkSocket *socket)
{
- GdkWindow *window = GTK_WIDGET (socket)->window;
+ GdkWindow *window;
XWindowAttributes xattrs;
+ window = gtk_widget_get_window (GTK_WIDGET (socket));
+
XGetWindowAttributes (GDK_WINDOW_XDISPLAY (window),
GDK_WINDOW_XWINDOW (window),
&xattrs);
@@ -267,6 +269,7 @@ _gtk_socket_windowing_focus (GtkSocket *socket,
void
_gtk_socket_windowing_send_configure_event (GtkSocket *socket)
{
+ GtkAllocation allocation;
XConfigureEvent xconfigure;
gint x, y;
@@ -285,11 +288,12 @@ _gtk_socket_windowing_send_configure_event (GtkSocket *socket)
gdk_error_trap_push ();
gdk_window_get_origin (socket->plug_window, &x, &y);
gdk_error_trap_pop ();
-
+
+ gtk_widget_get_allocation (GTK_WIDGET(socket), &allocation);
xconfigure.x = x;
xconfigure.y = y;
- xconfigure.width = GTK_WIDGET(socket)->allocation.width;
- xconfigure.height = GTK_WIDGET(socket)->allocation.height;
+ xconfigure.width = allocation.width;
+ xconfigure.height = allocation.height;
xconfigure.border_width = 0;
xconfigure.above = None;
@@ -342,7 +346,7 @@ _gtk_socket_windowing_embed_notify (GtkSocket *socket)
#endif
_gtk_xembed_send_message (socket->plug_window,
XEMBED_EMBEDDED_NOTIFY, 0,
- GDK_WINDOW_XWINDOW (GTK_WIDGET (socket)->window),
+ GDK_WINDOW_XWINDOW (gtk_widget_get_window (GTK_WIDGET (socket))),
socket->xembed_version);
}
@@ -667,10 +671,14 @@ _gtk_socket_windowing_filter_func (GdkXEvent *gdk_xevent,
break;
case ReparentNotify:
{
+ GdkWindow *window;
XReparentEvent *xre = &xevent->xreparent;
+ window = gtk_widget_get_window (widget);
+
GTK_NOTE (PLUGSOCKET, g_message ("GtkSocket - ReparentNotify received"));
- if (!socket->plug_window && xre->parent == GDK_WINDOW_XWINDOW (widget->window))
+ if (!socket->plug_window &&
+ xre->parent == GDK_WINDOW_XWINDOW (window))
{
_gtk_socket_add_window (socket, xre->window, FALSE);
@@ -683,7 +691,9 @@ _gtk_socket_windowing_filter_func (GdkXEvent *gdk_xevent,
}
else
{
- if (socket->plug_window && xre->window == GDK_WINDOW_XWINDOW (socket->plug_window) && xre->parent != GDK_WINDOW_XWINDOW (widget->window))
+ if (socket->plug_window &&
+ xre->window == GDK_WINDOW_XWINDOW (socket->plug_window) &&
+ xre->parent != GDK_WINDOW_XWINDOW (window))
{
gboolean result;