Ken Thomases : winemac: Periodically check for pasteboard changes using a timer.

Alexandre Julliard julliard at winehq.org
Wed Jan 11 15:45:47 CST 2017


Module: wine
Branch: master
Commit: 5f5807cbfec59fe5aebf07badc0ab4732710b79b
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=5f5807cbfec59fe5aebf07badc0ab4732710b79b

Author: Ken Thomases <ken at codeweavers.com>
Date:   Wed Jan 11 11:06:22 2017 -0600

winemac: Periodically check for pasteboard changes using a timer.

Signed-off-by: Ken Thomases <ken at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 dlls/winemac.drv/clipboard.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/dlls/winemac.drv/clipboard.c b/dlls/winemac.drv/clipboard.c
index 7d9ae0a..fc1589f 100644
--- a/dlls/winemac.drv/clipboard.c
+++ b/dlls/winemac.drv/clipboard.c
@@ -1664,6 +1664,7 @@ static void grab_win32_clipboard(BOOL changed)
     last_clipboard_update = GetTickCount64();
     set_win32_clipboard_formats_from_mac_pasteboard(types);
     CloseClipboard();
+    SetTimer(clipboard_hwnd, 1, CLIPBOARD_UPDATE_DELAY, NULL);
 }
 
 
@@ -1713,9 +1714,14 @@ static LRESULT CALLBACK clipboard_wndproc(HWND hwnd, UINT msg, WPARAM wp, LPARAM
         case WM_RENDERFORMAT:
             render_format(wp);
             break;
+        case WM_TIMER:
+            if (!is_clipboard_owner) break;
+            grab_win32_clipboard(FALSE);
+            break;
         case WM_DESTROYCLIPBOARD:
             TRACE("WM_DESTROYCLIPBOARD: lost ownership\n");
             is_clipboard_owner = FALSE;
+            KillTimer(hwnd, 1);
             break;
     }
     return DefWindowProcW(hwnd, msg, wp, lp);




More information about the wine-cvs mailing list