[mutter] window-actor: Flip set_redirected around
- From: Jasper St. Pierre <jstpierre src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [mutter] window-actor: Flip set_redirected around
- Date: Fri, 31 Jan 2014 22:25:41 +0000 (UTC)
commit 56f8d32ca9f87c2be0ed93d42e799d04b17ad08f
Author: Jasper St. Pierre <jstpierre mecheye net>
Date: Fri Dec 6 17:36:09 2013 -0500
window-actor: Flip set_redirected around
I know it's confusing with the triple negative, but unredirected is how
we track it elsewhere: we have an 'unredirected' flag, and 'should_unredirect'.
https://bugzilla.gnome.org/show_bug.cgi?id=720631
src/compositor/compositor.c | 4 ++--
src/compositor/meta-window-actor-private.h | 8 ++++----
src/compositor/meta-window-actor.c | 22 +++++++++++-----------
3 files changed, 17 insertions(+), 17 deletions(-)
---
diff --git a/src/compositor/compositor.c b/src/compositor/compositor.c
index 00779e6..888810f 100644
--- a/src/compositor/compositor.c
+++ b/src/compositor/compositor.c
@@ -755,7 +755,7 @@ set_unredirected_window (MetaCompScreen *info,
if (info->unredirected_window != NULL)
{
MetaWindowActor *window_actor = META_WINDOW_ACTOR (meta_window_get_compositor_private
(info->unredirected_window));
- meta_window_actor_set_redirected (window_actor, TRUE);
+ meta_window_actor_set_unredirected (window_actor, FALSE);
}
info->unredirected_window = window;
@@ -763,7 +763,7 @@ set_unredirected_window (MetaCompScreen *info,
if (info->unredirected_window != NULL)
{
MetaWindowActor *window_actor = META_WINDOW_ACTOR (meta_window_get_compositor_private
(info->unredirected_window));
- meta_window_actor_set_redirected (window_actor, FALSE);
+ meta_window_actor_set_unredirected (window_actor, TRUE);
}
meta_shape_cow_for_window (info->screen, info->unredirected_window);
diff --git a/src/compositor/meta-window-actor-private.h b/src/compositor/meta-window-actor-private.h
index 441f05b..76aaf33 100644
--- a/src/compositor/meta-window-actor-private.h
+++ b/src/compositor/meta-window-actor-private.h
@@ -35,13 +35,13 @@ void meta_window_actor_frame_complete (MetaWindowActor *self,
void meta_window_actor_invalidate_shadow (MetaWindowActor *self);
-void meta_window_actor_set_redirected (MetaWindowActor *self, gboolean state);
-
-gboolean meta_window_actor_should_unredirect (MetaWindowActor *self);
-
void meta_window_actor_get_shape_bounds (MetaWindowActor *self,
cairo_rectangle_int_t *bounds);
+gboolean meta_window_actor_should_unredirect (MetaWindowActor *self);
+void meta_window_actor_set_unredirected (MetaWindowActor *self,
+ gboolean unredirected);
+
gboolean meta_window_actor_effect_in_progress (MetaWindowActor *self);
void meta_window_actor_sync_actor_geometry (MetaWindowActor *self,
gboolean did_placement);
diff --git a/src/compositor/meta-window-actor.c b/src/compositor/meta-window-actor.c
index 9df25d6..36430ca 100644
--- a/src/compositor/meta-window-actor.c
+++ b/src/compositor/meta-window-actor.c
@@ -1299,7 +1299,8 @@ meta_window_actor_should_unredirect (MetaWindowActor *self)
}
void
-meta_window_actor_set_redirected (MetaWindowActor *self, gboolean state)
+meta_window_actor_set_unredirected (MetaWindowActor *self,
+ gboolean unredirected)
{
MetaWindow *metaWindow = meta_window_actor_get_meta_window (self);
MetaDisplay *display = meta_window_get_display (metaWindow);
@@ -1307,21 +1308,20 @@ meta_window_actor_set_redirected (MetaWindowActor *self, gboolean state)
Display *xdisplay = meta_display_get_xdisplay (display);
Window xwin = meta_window_get_toplevel_xwindow (metaWindow);
- if (state)
+ meta_error_trap_push (display);
+
+ if (unredirected)
{
- meta_error_trap_push (display);
- XCompositeRedirectWindow (xdisplay, xwin, CompositeRedirectManual);
- meta_error_trap_pop (display);
- meta_window_actor_detach (self);
- self->priv->unredirected = FALSE;
+ XCompositeUnredirectWindow (xdisplay, xwin, CompositeRedirectManual);
}
else
{
- meta_error_trap_push (display);
- XCompositeUnredirectWindow (xdisplay, xwin, CompositeRedirectManual);
- meta_error_trap_pop (display);
- self->priv->unredirected = TRUE;
+ XCompositeRedirectWindow (xdisplay, xwin, CompositeRedirectManual);
+ meta_window_actor_detach_x11_pixmap (self);
}
+
+ self->priv->unredirected = unredirected;
+ meta_error_trap_pop (display);
}
void
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]