Alexandre Julliard wrote:

Robert Shearman <[EMAIL PROTECTED]> writes:
+        ev.xclient.type = ClientMessage;
+        ev.xclient.window = systray_window;
+        ev.xclient.message_type = x11drv_atom(_NET_SYSTEM_TRAY_OPCODE);
+        ev.xclient.format = 32;
+        ev.xclient.data.l[0] = CurrentTime;
+        ev.xclient.data.l[1] = SYSTEM_TRAY_REQUEST_DOCK;
+        ev.xclient.data.l[2] = data->whole_window;
+        XSendEvent( display, systray_window, False, NoEventMask, &ev );
+        XSync( display, False );

You need to get the tsx11 lock when calling X functions. Also what's
the reason for having an XSync here?


I've added the locking. The XSync is needed because without it the systray window ends up with a width of 1. I don't understand why this is happening. What debug channels would be good to turn on to investigate this?

--
Rob Shearman



Reply via email to