--- sourceforge.net/trunk/rdesktop/xwin.c 2002/07/30 07:30:12 84 +++ sourceforge.net/trunk/rdesktop/xwin.c 2002/08/03 22:28:05 87 @@ -270,6 +270,7 @@ Screen *screen; uint16 test; int i; + XEvent xevent; x_socket = ConnectionNumber(display); screen = DefaultScreenOfDisplay(display); @@ -354,7 +355,8 @@ xkeymap_init2(); - input_mask = KeyPressMask | KeyReleaseMask | ButtonPressMask | ButtonReleaseMask; + input_mask = KeyPressMask | KeyReleaseMask | ButtonPressMask | ButtonReleaseMask | + VisibilityChangeMask; if (grab_keyboard) input_mask |= EnterWindowMask | LeaveWindowMask; if (sendmotion) @@ -375,6 +377,18 @@ XMapWindow(display, wnd); + /* Wait for VisibilityNotify Event */ + for (;;) { + XNextEvent(display, &xevent); + if (xevent.type == VisibilityNotify) + break; + } + + /* clear the window so that cached data is not viewed upon start... */ + XSetBackground(display, gc, 0); + XSetForeground(display, gc, 0); + FILL_RECTANGLE(0, 0, width, height); + return True; }