--- sourceforge.net/trunk/rdesktop/xclip.c 2003/08/27 22:51:33 450 +++ sourceforge.net/trunk/rdesktop/xclip.c 2003/09/15 07:59:36 468 @@ -133,6 +133,7 @@ xclip_handle_SelectionRequest(XSelectionRequestEvent * event) { unsigned long nitems, bytes_left; + unsigned char *prop_return; uint32 *wanted_format; int format, res; Atom type; @@ -156,9 +157,10 @@ { res = XGetWindowProperty(g_display, event->requestor, rdesktop_clipboard_target_atom, 0, 1, True, XA_INTEGER, - &type, &format, &nitems, &bytes_left, - (unsigned char **) &wanted_format); + &type, &format, &nitems, &bytes_left, &prop_return); + wanted_format = (uint32 *) prop_return; format = (res == Success) ? *wanted_format : CF_TEXT; + /* FIXME: Need to free returned data? */ } else { @@ -197,8 +199,8 @@ { res = XGetWindowProperty(g_display, DefaultRootWindow(g_display), rdesktop_clipboard_formats_atom, 0, - XMaxRequestSize(g_display), False, XA_STRING, &type, &format, - &nitems, &bytes_left, &data); + XMaxRequestSize(g_display), False, XA_STRING, &type, + &format, &nitems, &bytes_left, &data); if ((res == Success) && (nitems > 0)) { @@ -296,7 +298,8 @@ clipboard_atom = XInternAtom(g_display, "CLIPBOARD", False); targets_atom = XInternAtom(g_display, "TARGETS", False); timestamp_atom = XInternAtom(g_display, "TIMESTAMP", False); - rdesktop_clipboard_target_atom = XInternAtom(g_display, "_RDESKTOP_CLIPBOARD_TARGET", False); + rdesktop_clipboard_target_atom = + XInternAtom(g_display, "_RDESKTOP_CLIPBOARD_TARGET", False); incr_atom = XInternAtom(g_display, "INCR", False); targets[0] = targets_atom; targets[1] = XInternAtom(g_display, "TEXT", False);