X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fmain.c;h=43e130b9a33b63a37ee2ff258dc0761b9c049e4f;hb=669baf827bd49a7420253a5d1afdfc14683c2f6d;hp=ea508d285693031c08ea7b2d8827ed9413847be9;hpb=42ed6047036a36fdfc063d83583158d2ec067334;p=geometrycompositor.git diff --git a/source/main.c b/source/main.c index ea508d2..43e130b 100644 --- a/source/main.c +++ b/source/main.c @@ -555,6 +555,9 @@ CompositedWindow *reorder_window(CompositedScreen *screen, CompositedWindow *win CompositedWindow hold; i = window-screen->windows; + if((i>0 && screen->windows[i-1].window==above) || (i==0 && !above)) + return window; + if(above) { for(j=0; jnwindows; ++j) @@ -1307,7 +1310,7 @@ void process_configure_event(Compositor *compositor, XConfigureEvent *event) window->border = event->border_width; window->recreate_pixmap = 1; } - reorder_window(screen, window, event->above); + window = reorder_window(screen, window, event->above); if(window->map_state==IsViewable) mark_dirty(compositor, screen); @@ -1322,9 +1325,15 @@ void process_property_event(Compositor *compositor, XPropertyEvent *event) return; if(event->atom==compositor->correction_atom) + { update_geometry_correction(compositor, screen); + mark_dirty(compositor, screen); + } else if(event->atom==compositor->root_pmap_atom) + { update_root_pixmap(compositor, screen); + mark_dirty(compositor, screen); + } } void process_selection_request_event(Compositor *compositor, XSelectionRequestEvent *event)