Olivier Fourdan | 1 Nov 13:27 2006

r23581 - xfwm4/branches/xfce_4_2/src

Author: olivier
Date: 2006-11-01 12:27:47 +0000 (Wed, 01 Nov 2006)
New Revision: 23581

Modified:
   xfwm4/branches/xfce_4_2/src/events.c
Log:
Do not raise on WM_TRANSIENT_FOR property change, fix bug #2483.

Modified: xfwm4/branches/xfce_4_2/src/events.c
===================================================================
--- xfwm4/branches/xfce_4_2/src/events.c	2006-11-01 00:27:21 UTC (rev 23580)
+++ xfwm4/branches/xfce_4_2/src/events.c	2006-11-01 12:27:47 UTC (rev 23581)
 <at>  <at>  -1666,7 +1666,25  <at>  <at> 
             if (clientCheckTransientWindow (c, w))
             {
                 c->transient_for = w;
+#if 0                
+                /*
+                  Java 1.6 updates the WM_TRANSIENT_FOR properties "on-the-fly"
+                  of its windows to maintain the z-order. 
+                  
+                  If we raise the transient then, we clearly have a race 
+                  condition between the WM and Java... And that breaks 
+                  the z-order. Bug #2483.
+                  
+                  I still think that raising here makes sense, to ensure
+                  that the newly promoted transient window is placed above
+                  its parent.
+                  
+                  Chances are that Java 1.6 won't change any time soon (heh,
+                  it's not even released yet), so let's adjust the WM to
+                  work with Java 1.6...
+                 */
                 clientRaise (c);
+#endif
             }
         }
         else if (ev->atom == display_info->atoms[WIN_HINTS])

Gmane