[PATCH v2 3/6] winex11: Directly use ntdll in clipboard.c.
Huw Davies
huw at codeweavers.com
Wed Apr 27 08:01:14 CDT 2022
From: Jacek Caban <jacek at codeweavers.com>
Signed-off-by: Jacek Caban <jacek at codeweavers.com>
Signed-off-by: Huw Davies <huw at codeweavers.com>
---
dlls/winex11.drv/clipboard.c | 20 ++++++++++++++------
1 file changed, 14 insertions(+), 6 deletions(-)
diff --git a/dlls/winex11.drv/clipboard.c b/dlls/winex11.drv/clipboard.c
index b36b9a002a3..ec69778fc3c 100644
--- a/dlls/winex11.drv/clipboard.c
+++ b/dlls/winex11.drv/clipboard.c
@@ -191,7 +191,7 @@ static Window selection_window;
static Window import_window;
static Atom current_selection;
static UINT rendered_formats;
-static ULONG64 last_clipboard_update;
+static ULONG last_clipboard_update;
static struct clipboard_format **current_x11_formats;
static unsigned int nb_current_x11_formats;
static BOOL use_xfixes;
@@ -281,6 +281,14 @@ static struct clipboard_format *find_x11_format( Atom atom )
}
+static ATOM register_clipboard_format( const WCHAR *name )
+{
+ ATOM atom;
+ if (NtAddAtom( name, lstrlenW( name ) * sizeof(WCHAR), &atom )) return 0;
+ return atom;
+}
+
+
/**************************************************************************
* register_builtin_formats
*/
@@ -294,7 +302,7 @@ static void register_builtin_formats(void)
for (i = 0; i < ARRAY_SIZE(builtin_formats); i++)
{
if (builtin_formats[i].name)
- formats[i].id = RegisterClipboardFormatW( builtin_formats[i].name );
+ formats[i].id = register_clipboard_format( builtin_formats[i].name );
else
formats[i].id = builtin_formats[i].id;
@@ -398,7 +406,7 @@ static void register_x11_formats( const Atom *atoms, UINT size )
for (i = pos = 0; i < count; i++)
{
if (MultiByteToWideChar( CP_UNIXCP, 0, names[i], -1, buffer, 256 ) &&
- (ids[pos] = RegisterClipboardFormatW( buffer )))
+ (ids[pos] = register_clipboard_format( buffer )))
new_atoms[pos++] = new_atoms[i];
XFree( names[i] );
}
@@ -1915,7 +1923,7 @@ static BOOL request_selection_contents( Display *display, BOOL changed )
last_type = type;
last_data = data;
last_size = size;
- last_clipboard_update = GetTickCount64();
+ last_clipboard_update = NtGetTickCount();
NtUserCloseClipboard();
if (!use_xfixes)
NtUserSetTimer( clipboard_hwnd, 1, SELECTION_UPDATE_DELAY, NULL, TIMERV_DEFAULT_COALESCING );
@@ -1933,7 +1941,7 @@ BOOL update_clipboard( HWND hwnd )
if (use_xfixes) return TRUE;
if (hwnd != clipboard_hwnd) return TRUE;
if (!is_clipboard_owner) return TRUE;
- if (GetTickCount64() - last_clipboard_update <= SELECTION_UPDATE_DELAY) return TRUE;
+ if (NtGetTickCount() - last_clipboard_update <= SELECTION_UPDATE_DELAY) return TRUE;
return request_selection_contents( thread_display(), FALSE );
}
@@ -2131,7 +2139,7 @@ void X11DRV_UpdateClipboard(void)
if (use_xfixes) return;
if (GetCurrentThreadId() == clipboard_thread_id) return;
- now = GetTickCount();
+ now = NtGetTickCount();
if ((int)(now - last_update) <= SELECTION_UPDATE_DELAY) return;
if (SendMessageTimeoutW( GetClipboardOwner(), WM_X11DRV_UPDATE_CLIPBOARD, 0, 0,
SMTO_ABORTIFHUNG, 5000, &ret ) && ret)
--
2.25.1
More information about the wine-devel
mailing list