On Thu, Mar 01, 2012 at 01:34:32PM +0200, Arnon Gilboa wrote: > MSDN says the following about SetClipboardViewer(): "If an error occurs or > there > are no other windows in the clipboard viewer chain, the return value is NULL". > Seems like the buggy case was "no other windows in the clipboard viewer > chain", > which explains the 3rd party clipboard manager workaround detailed in the bug > description. > > It also seems like SetClipboardViewer() does not clear the error state on > succcess. Calling SetLastError(0) before SetClipboardViewer() seems to solves > this issue. > > Since we could not reproduce the bug on our env, the customer has verified on > several of their systems that a private build resolved the issue.
ACK. > --- > client/windows/platform.cpp | 7 ++++--- > 1 files changed, 4 insertions(+), 3 deletions(-) > > diff --git a/client/windows/platform.cpp b/client/windows/platform.cpp > index 0f35a65..223be1d 100644 > --- a/client/windows/platform.cpp > +++ b/client/windows/platform.cpp > @@ -236,6 +236,7 @@ static void create_message_wind() > { > WNDCLASSEX wclass; > ATOM class_atom; > + DWORD err; > > const LPCWSTR class_name = L"spicec_platform_wclass"; > > @@ -259,9 +260,9 @@ static void create_message_wind() > if (!(platform_win = CreateWindow(class_name, L"", 0, 0, 0, 0, 0, NULL, > NULL, instance, NULL))) { > THROW("create message window failed"); > } > - > - if (!(next_clipboard_viewer_win = SetClipboardViewer(platform_win)) && > GetLastError()) { > - THROW("set clipboard viewer failed"); > + SetLastError(0); > + if (!(next_clipboard_viewer_win = SetClipboardViewer(platform_win)) && > (err = GetLastError())) { > + THROW("set clipboard viewer failed %u", err); > } > if (!(clipboard_event = CreateEvent(NULL, FALSE, FALSE, NULL))) { > THROW("create clipboard event failed"); > -- > 1.7.4.1 > > _______________________________________________ > Spice-devel mailing list > Spice-devel@lists.freedesktop.org > http://lists.freedesktop.org/mailman/listinfo/spice-devel _______________________________________________ Spice-devel mailing list Spice-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/spice-devel