Robert Shearman rob@codeweavers.com 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?