+
+ mark_dirty(compositor, screen);
+}
+
+void process_reparent_event(Compositor *compositor, XReparentEvent *event)
+{
+ CompositedScreen *screen = find_screen_by_root(compositor, event->event);
+ if(!screen)
+ return;
+
+ CompositedWindow *window;
+ if(event->parent==screen->root)
+ window = add_window(compositor, screen, event->window);
+ else
+ {
+ window = find_window(screen, event->window);
+ if(!window)
+ return;
+
+ remove_window(compositor, screen, window, 0);
+ }
+
+ if(window && window->map_state==IsViewable)
+ mark_dirty(compositor, screen);