Steps to reproduce: 1. Enable compositing in xfwm4 2. restart xfwm4 $ xfwm4 --restart --daemon Expected result: The panel remains visible Actual result: Panel disappears, struts are cleared, just like if no panel was present Additional information: The panel does not crash, it is still running, it's just that it's toplevel windows are unmapped. gdb shows nothing wrong with the process, it's there, running, awaiting events... (gdb) bt #0 0x00000030ce0db083 in poll () from /lib64/libc.so.6 #1 0x00000030d0c42374 in g_main_context_poll (context=0x12c4af0, block=1, dispatch=1, self=<value optimized out>) at gmain.c:3093 #2 g_main_context_iterate (context=0x12c4af0, block=1, dispatch=1, self=<value optimized out>) at gmain.c:2775 #3 0x00000030d0c42c82 in g_main_loop_run (loop=0x136a170) at gmain.c:2988 #4 0x0000003a59b4b0b7 in IA__gtk_main () at gtkmain.c:1237 #5 0x000000000040f341 in main (argc=1, argv=0x7fff747eaec8) at main.c:349
Works fine here. Could you attach the output when the panel runs with export PANEL_DEBUG=1?
Created attachment 3433 Log of xfce4-panel The problem is random, it did not occur for the first restart, but occurred on the second. Looks like a race condition to me, maybe it has something to do with bug 7161 ? The panel disappear when the window manager exits and does not reappear...
Created attachment 3437 Simplify composting changes This patch removes the show/hide on compositor changes and also seems to resolve the hidden panel, however is adds a new problem. If compositing is toggled in the xfwm4 tweaks, the window is not visible when going from enable -> disable. I added gdk_window_invalidate_rect() so technically the entire window should the redrawn (expose it triggered, so that seems to work). I've no idea if this is a problem with my driver, panel or xfwm4, but the window is there, and it reappears (!) if you right-click the panel. xwininfo --all and xprop also show no different information. Any idea about this Olivier?
It seems that if the window is resized it appears again, which is strange because the window is *there* you can even click buttons etc.
Created attachment 3438 Previous patch had a small typo.
A window move with queue_resize helped to pickup the window. It now works fine here when toggling compositing and also when restarting xfwm4; so i pushed the fix in 16ca088, since the whole thing is much saner this way. Please reopen if you still have the problem after this or know why the window move is required to make the window visible, like described in comment 3.