[Spice-devel] [PATCH] vdagent: remove clipboard_changer hack

Hans de Goede hdegoede at redhat.com
Wed Oct 6 07:49:43 PDT 2010


Ack.

On 10/06/2010 04:41 PM, Arnon Gilboa wrote:
> Instead of keeping a flag, we simply check wether the new owner is usor not
> ---
>   vdagent/vdagent.cpp |   12 +++++-------
>   1 files changed, 5 insertions(+), 7 deletions(-)
>
> diff --git a/vdagent/vdagent.cpp b/vdagent/vdagent.cpp
> index 32ad102..6c5f73a 100644
> --- a/vdagent/vdagent.cpp
> +++ b/vdagent/vdagent.cpp
> @@ -83,7 +83,6 @@ private:
>       static VDAgent* _singleton;
>       HWND _hwnd;
>       HWND _hwnd_next_viewer;
> -    bool _clipboard_changer;
>       int _clipboard_owner;
>       DWORD _buttons_state;
>       LONG _mouse_x;
> @@ -128,7 +127,6 @@ VDAgent* VDAgent::get()
>   VDAgent::VDAgent()
>       : _hwnd (NULL)
>       , _hwnd_next_viewer (NULL)
> -    , _clipboard_changer (true)
>       , _clipboard_owner (owner_none)
>       , _buttons_state (0)
>       , _mouse_x (0)
> @@ -875,7 +873,6 @@ bool VDAgent::handle_clipboard_grab(VDAgentClipboardGrab* clipboard_grab)
>       if (!OpenClipboard(_hwnd)) {
>           return false;
>       }
> -    _clipboard_changer = true;
>       EmptyClipboard();
>       SetClipboardData(format, NULL);
>       CloseClipboard();
> @@ -1199,12 +1196,13 @@ LRESULT CALLBACK VDAgent::wnd_proc(HWND hwnd, UINT message, WPARAM wparam, LPARA
>           }
>           break;
>       case WM_DRAWCLIPBOARD:
> -        if (!a->_clipboard_changer) {
> +        if (a->_hwnd != GetClipboardOwner()) {
> +            a->set_clipboard_owner(a->owner_none);
>               a->on_clipboard_grab();
> -        } else {
> -            a->_clipboard_changer = false;
>           }
> -        SendMessage(a->_hwnd_next_viewer, message, wparam, lparam);
> +        if (a->_hwnd_next_viewer) {
> +            SendMessage(a->_hwnd_next_viewer, message, wparam, lparam);
> +        }
>           break;
>       case WM_RENDERFORMAT:
>           a->on_clipboard_request((UINT)wparam);


More information about the Spice-devel mailing list