This is an automated email from the git hooks/post-receive script.

git pushed a commit to branch master
in repository e16.

View the commit online.

commit 394d9374ff4e32cc4179169c448900b074789226
Author: Kim Woelders <k...@woelders.dk>
AuthorDate: Fri Sep 22 18:16:04 2023 +0200

    CM: Rearrange initialization sequence
    
    First acquire _NET_WM_CM_Sn, should/may make other CM go away.
    
    Then do the root subwindow redirection. Should succeed if other CM does
    its un-redirection.
---
 src/ecompmgr.c | 54 +++++++++++++++++++++++++++++-------------------------
 1 file changed, 29 insertions(+), 25 deletions(-)

diff --git a/src/ecompmgr.c b/src/ecompmgr.c
index 1e2d7ad6..cc866819 100644
--- a/src/ecompmgr.c
+++ b/src/ecompmgr.c
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2004-2022 Kim Woelders
+ * Copyright (C) 2004-2023 Kim Woelders
  *
  * Permission is hereby granted, free of charge, to any person obtaining a copy
  * of this software and associated documentation files (the "Software"), to
@@ -2189,9 +2189,35 @@ ECompMgrStart(void)
 
    if (Mode_compmgr.active || Conf_compmgr.mode == ECM_MODE_OFF)
       return;
-   Conf_compmgr.enable = Mode_compmgr.active = 1;
+
+   wm_cm_sel = SelectionAcquire("_NET_WM_CM_S", NULL, NULL);
+   if (!wm_cm_sel)
+      return;
+
    Mode_compmgr.mode = Conf_compmgr.mode;
 
+   switch (Mode_compmgr.mode)
+     {
+     case ECM_MODE_ROOT:
+	XCompositeRedirectSubwindows(disp, WinGetXwin(VROOT),
+				     CompositeRedirectManual);
+#if USE_DESK_EXPOSE		/* FIXME - Remove? */
+	ESelectInputChange(VROOT, ExposureMask, 0);
+#endif
+	break;
+     case ECM_MODE_WINDOW:
+#if USE_DESK_EXPOSE		/* FIXME - Remove? */
+	ESelectInputChange(VROOT, ExposureMask, 0);
+#endif
+	break;
+     case ECM_MODE_AUTO:
+	XCompositeRedirectSubwindows(disp, WinGetXwin(VROOT),
+				     CompositeRedirectAutomatic);
+	break;
+     }
+
+   Conf_compmgr.enable = Mode_compmgr.active = 1;
+
    Conf_compmgr.override_redirect.opacity =
       OpacityFix(Conf_compmgr.override_redirect.opacity, 100);
 
@@ -2230,31 +2256,9 @@ ECompMgrStart(void)
 
    ECompMgrShadowsInit(Conf_compmgr.shadows.mode, 0);
 
-   EGrabServer();
-
-   switch (Mode_compmgr.mode)
-     {
-     case ECM_MODE_ROOT:
-	XCompositeRedirectSubwindows(disp, WinGetXwin(VROOT),
-				     CompositeRedirectManual);
-#if USE_DESK_EXPOSE		/* FIXME - Remove? */
-	ESelectInputChange(VROOT, ExposureMask, 0);
-#endif
-	break;
-     case ECM_MODE_WINDOW:
-#if USE_DESK_EXPOSE		/* FIXME - Remove? */
-	ESelectInputChange(VROOT, ExposureMask, 0);
-#endif
-	break;
-     case ECM_MODE_AUTO:
-	XCompositeRedirectSubwindows(disp, WinGetXwin(VROOT),
-				     CompositeRedirectAutomatic);
-	break;
-     }
-
    EventCallbackRegister(VROOT, ECompMgrHandleRootEvent, NULL);
 
-   wm_cm_sel = SelectionAcquire("_NET_WM_CM_S", NULL, NULL);
+   EGrabServer();
 
    lst = EobjListStackGet(&num);
    for (i = 0; i < num; i++)

-- 
To stop receiving notification emails like this one, please contact
the administrator of this repository.

Reply via email to