summaryrefslogtreecommitdiff
path: root/src/c-screen.c
diff options
context:
space:
mode:
authorSøren Sandmann <sandmann@redhat.com>2006-05-24 18:38:54 +0000
committerSøren Sandmann Pedersen <ssp@src.gnome.org>2006-05-24 18:38:54 +0000
commitca3236f76c9fc211a3d8d3a20fcce3fca3bfe166 (patch)
tree781512a79df7021d66d409af38f068b92fb21f45 /src/c-screen.c
parent7d2f0bf1fecb4bc9e65b1e32d86c2a2c64d2b32d (diff)
downloadmutter-ca3236f76c9fc211a3d8d3a20fcce3fca3bfe166.tar.gz
Add a stack-freeze feature to CWindow.
Wed May 24 14:36:42 2006 Søren Sandmann <sandmann@redhat.com> * src/c-window.c (meta_comp_window_{freeze,thaw}_stack: Add a stack-freeze feature to CWindow. * src/c-screen.c (meta_comp_screen_restack): Don't restack if the window is frozen.
Diffstat (limited to 'src/c-screen.c')
-rw-r--r--src/c-screen.c14
1 files changed, 9 insertions, 5 deletions
diff --git a/src/c-screen.c b/src/c-screen.c
index 990326478..ab5a9e7df 100644
--- a/src/c-screen.c
+++ b/src/c-screen.c
@@ -155,7 +155,7 @@ repaint (gpointer data)
cm_state_enable_depth_buffer_update (state);
g_object_unref (state);
-
+
ws_window_gl_swap_buffers (info->gl_window);
glFinish();
@@ -414,12 +414,16 @@ meta_comp_screen_restack (MetaCompScreen *info,
Window window,
Window above_this)
{
+ MetaCompWindow *comp_window = find_comp_window (info, window);
+ MetaCompWindow *above_comp_window = find_comp_window (info, above_this);
CmNode *window_node = find_node (info, window);
CmNode *above_node = find_node (info, above_this);
-
-#if 0
- g_print ("restack %lx over %lx \n", window, above_this);
-#endif
+
+ if ((comp_window && meta_comp_window_stack_frozen (comp_window)) ||
+ (above_comp_window && meta_comp_window_stack_frozen (above_comp_window)))
+ {
+ return;
+ }
#if 0
dump_stacking_order (info->stacker->children);