summaryrefslogtreecommitdiff
path: root/gdk
diff options
context:
space:
mode:
authorRichard Hult <richard@imendio.com>2008-02-20 20:10:30 +0000
committerRichard Hult <rhult@src.gnome.org>2008-02-20 20:10:30 +0000
commitfbe4c4f8b61a6255125f7512b33e2100557812b4 (patch)
tree35344674d8d8d7afef366a12f479848116d4f486 /gdk
parente4fe214f391feddc17754926b8335ee57d4b97df (diff)
downloadgtk+-fbe4c4f8b61a6255125f7512b33e2100557812b4.tar.gz
Set the right window level and shadow after recreating the window.
2008-02-20 Richard Hult <richard@imendio.com> * gdk/quartz/gdkwindow-quartz.c: (gdk_window_set_decorations): Set the right window level and shadow after recreating the window. * gdk/quartz/GdkQuartzView.c: (drawRect): Invalidate the shadow if necessary after drawing (bug #517338). svn path=/trunk/; revision=19622
Diffstat (limited to 'gdk')
-rw-r--r--gdk/quartz/GdkQuartzView.c6
-rw-r--r--gdk/quartz/gdkwindow-quartz.c3
2 files changed, 9 insertions, 0 deletions
diff --git a/gdk/quartz/GdkQuartzView.c b/gdk/quartz/GdkQuartzView.c
index 511e6d1b99..44f21e5a4f 100644
--- a/gdk/quartz/GdkQuartzView.c
+++ b/gdk/quartz/GdkQuartzView.c
@@ -116,6 +116,12 @@
gdk_region_destroy (region);
+ /* Invalidate the window shadow for non-opaque views that have shadow
+ * enabled, otherwise the shadow doesn't get updated to what we draw.
+ */
+ if (![self isOpaque] && [[self window] hasShadow])
+ [[self window] invalidateShadow];
+
GDK_QUARTZ_RELEASE_POOL;
}
diff --git a/gdk/quartz/gdkwindow-quartz.c b/gdk/quartz/gdkwindow-quartz.c
index feb31d4fda..54238235b3 100644
--- a/gdk/quartz/gdkwindow-quartz.c
+++ b/gdk/quartz/gdkwindow-quartz.c
@@ -2623,6 +2623,9 @@ gdk_window_set_decorations (GdkWindow *window,
backing:NSBackingStoreBuffered
defer:NO];
+ [impl->toplevel setHasShadow: window_type_hint_to_shadow (impl->type_hint)];
+ [impl->toplevel setLevel: window_type_hint_to_level (impl->type_hint)];
+
[impl->toplevel setContentView:old_view];
[impl->toplevel setFrame:rect display:YES];
}