From 68241d8bdbdfec902ce1daaa77d533c9f246b75b Mon Sep 17 00:00:00 2001
From: Olivier Fourdan <fourdan.olivier@wanadoo.fr>
Date: Sun, 25 Jun 2006 21:08:51 +0000
Subject: [PATCH] Revert some removal that was needed, woops...

(Old svn revision: 22200)
---
 src/compositor.c | 26 ++++++++++++++++++++++++++
 src/compositor.h |  1 +
 src/settings.c   |  1 +
 3 files changed, 28 insertions(+)

diff --git a/src/compositor.c b/src/compositor.c
index a774d8010..e7bc31ee3 100644
--- a/src/compositor.c
+++ b/src/compositor.c
@@ -2770,6 +2770,32 @@ compositorUpdateScreenSize (ScreenInfo *screen_info)
 #endif /* HAVE_COMPOSITOR */
 }
 
+void
+compositorRebuildScreen (ScreenInfo *screen_info)
+{
+#ifdef HAVE_COMPOSITOR
+    DisplayInfo *display_info;
+    GList *index;
+
+    g_return_if_fail (screen_info != NULL);
+    TRACE ("entering compositorRepairScreen");
+
+    display_info = screen_info->display_info;
+    if (!compositorIsUsable (display_info))
+    {
+        return;
+    }
+
+    for (index = screen_info->cwindows; index; index = g_list_next (index))
+    {
+        CWindow *cw2 = (CWindow *) index->data;
+        free_win_data (cw2, FALSE);
+        init_opacity (cw2);
+    }
+    repair_screen (screen_info);
+#endif /* HAVE_COMPOSITOR */
+}
+
 gboolean
 compositorTestServer (DisplayInfo *display_info)
 {
diff --git a/src/compositor.h b/src/compositor.h
index fc0ea9fcd..1f3650928 100644
--- a/src/compositor.h
+++ b/src/compositor.h
@@ -51,6 +51,7 @@ void     compositorUpdateScreenSize (ScreenInfo *);
 void     compositorWindowSetOpacity (DisplayInfo *,
                                      Window,
                                      guint);
+void     compositorRebuildScreen    (ScreenInfo *);
 gboolean compositorTestServer       (DisplayInfo *);
 
 #endif /* INC_COMPOSITOR_H */
diff --git a/src/settings.c b/src/settings.c
index f93546bf6..c58a9ab12 100644
--- a/src/settings.c
+++ b/src/settings.c
@@ -1524,6 +1524,7 @@ reloadScreenSettings (ScreenInfo *screen_info, int mask)
     if (mask)
     {
         clientUpdateAllFrames (screen_info, mask);
+        compositorRebuildScreen (screen_info);
     }
 
     return TRUE;
-- 
GitLab