Commit Graph

130 Commits

Author SHA1 Message Date
Alexandre Julliard 8df9a11ade winex11: Add basic support for importing text/html clipboard format.
Based on a patch by Damjan Jovanovic.

Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-01-11 22:28:49 +01:00
Alexandre Julliard d4f8366fa6 winex11: Periodically check for selection changes using a timer.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-01-10 19:19:16 +01:00
Alexandre Julliard 1137e3502d winex11: Don't update the clipboard if the X11 selection hasn't changed.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-01-10 19:19:16 +01:00
Alexandre Julliard e4cc5bf1b9 winex11: Merge reading the selection data into the conversion function.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-01-10 19:19:16 +01:00
Alexandre Julliard 89f2dafe50 winex11: Export the TIMESTAMP clipboard property.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-09-28 23:17:16 +09:00
Alexandre Julliard f59c076d13 winex11: Add clipboard support for the polymorphic TEXT format.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-09-28 23:17:07 +09:00
Alexandre Julliard 0aa7d402d2 winex11: Remove support for exporting the CF_OEMTEXT and CF_LOCALE formats.
They can be synthesized from CF_UNICODETEXT.

Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-09-27 21:43:25 +09:00
Alexandre Julliard c837adf38e winex11: Remove support for exporting the CF_BITMAP, CF_PALETTE and CF_DIBV5 formats.
They can be synthesized from CF_DIB.

Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-09-27 21:43:25 +09:00
Alexandre Julliard 29fc759d52 winex11: Remove support for exporting the CF_METAFILEPICT format.
It can be synthesized from CF_ENHMETAFILE.

Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-09-27 21:43:25 +09:00
Alexandre Julliard 82dfbba5c6 winex11: Remove support for owner-displayed clipboard formats.
It cannot work across prefixes, and it didn't work previously either.

Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-09-27 21:43:25 +09:00
Alexandre Julliard aa4b29b9bc winex11: Always go through Unicode for clipboard strings.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-09-27 21:43:25 +09:00
Alexandre Julliard 8493fc782b winex11: Add a helper function to export a Unicode string.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-09-27 21:43:25 +09:00
Alexandre Julliard 1e7878cfa5 winex11: Add a helper function to import a Unicode string.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-09-27 21:43:24 +09:00
Alexandre Julliard 4bbe8f90d4 winex11: Ignore X11 errors happening on the clipboard display connection.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-09-26 21:54:31 +09:00
Alexandre Julliard a52d09198d winex11: Run a single clipboard manager thread per window station, inside the explorer process.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-09-26 21:53:52 +09:00
Alexandre Julliard a46d736012 winex11: Remove the driver-side clipboard data storage.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-09-26 20:27:52 +09:00
Alexandre Julliard e9461b4567 winex11: Add a helper function to register builtin clipboard formats.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-09-26 20:27:51 +09:00
Alexandre Julliard adf96003a5 winex11: Implement the UpdateClipboard entry point to refresh the cache.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-09-23 20:30:33 +09:00
Alexandre Julliard a502a36af8 winex11: Store the list of X11 formats when retrieving the TARGETS property.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-09-23 20:30:13 +09:00
Alexandre Julliard 548ce58b4f winex11: Reimplement import_targets to go through the format list in the standard way.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-09-23 12:33:44 +09:00
Alexandre Julliard df9ff6872c winex11: If multiple clipboard formats can be exported, use the first available one.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-09-23 12:20:32 +09:00
Alexandre Julliard 4415406020 winex11: Get rid of support for reigstering Win32 formats without a corresponding atom.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-09-22 22:24:07 +09:00
Alexandre Julliard 242673589b winex11: Add helper functions to find and register X11 clipboard formats.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-09-22 22:24:06 +09:00
Alexandre Julliard f4f6353079 winex11: Add helper functions to find and register Win32 clipboard formats.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-09-22 22:24:06 +09:00
Alexandre Julliard 80d02bc849 winex11: Support import multiple drag&drop properties in a single call.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-09-22 22:15:10 +09:00
Alexandre Julliard 7f39cc3f2b winex11: Use a standard import function to retrieve the TARGETS property.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-09-22 12:50:34 +09:00
Alexandre Julliard 96930bdc04 winex11: Use standard clipboard APIs to retrieve the data to export.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-09-21 21:17:20 +09:00
Alexandre Julliard 8e5ee4474f winex11: Reimplement targets enumeration using standard clipboard APIs.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-09-21 21:17:19 +09:00
Alexandre Julliard d1f539ac00 winex11: Use a standard export function to handle TARGETS requests.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-09-21 21:17:19 +09:00
Alexandre Julliard c6e787232e winex11: Use a standard export function to handle MULTIPLE requests.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-09-21 21:17:19 +09:00
Alexandre Julliard 2215d770c5 winex11: Merge converting the selection and importing it.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-09-21 21:17:19 +09:00
Alexandre Julliard f88b632142 winex11: Move common code out of the import functions and simplify their usage.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-09-20 22:50:33 +09:00
Alexandre Julliard fd41ddec0a winex11: Move common code out of the export functions and simplify their usage.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-09-20 22:50:33 +09:00
Alexandre Julliard 7d0ddff2d8 winex11: Add a helper function to convert the selection.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-09-20 22:50:33 +09:00
Alexandre Julliard 2df558af9c winex11: Add a helper function to store property data.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-09-20 11:33:51 +09:00
Alexandre Julliard 49a65a3bd7 winex11: Add a debug helper to trace atom names.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-09-19 23:08:22 +09:00
Alexandre Julliard 13ff291905 winex11: Use the correct data type for property atoms.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-09-19 22:57:01 +09:00
Alexandre Julliard 63201471ab winex11: Add separate export functions for the various string types.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-09-19 10:59:51 +09:00
Alexandre Julliard 9f2ccf315e winex11: Get rid of the X11DRV_CLIPBOARD_SerializeMetafile helper.
THere's no common code between the different branches anyway.

Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-09-16 23:05:34 +09:00
Alexandre Julliard 217f05466a winex11: Merge named formats into the builtin clipboard formats table.
Also rename the import/export functions to make the table more readable.

Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-09-16 23:05:34 +09:00
Alexandre Julliard ed97fa1cb2 user32/tests: Add more tests for GDI and private clipboard formats.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-09-09 22:49:27 +09:00
Alexandre Julliard 761d244970 winex11: Remove support for synthesizing clipboard formats.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-09-07 13:24:36 +09:00
Akihiro Sagawa ce7a98e95c winex11: Return more reliable value from X11DRV_MsgWaitForMultipleObjects.
After processing several X events, X11DRV_MsgWaitForMultipleObjects always
tells us that a new message is available. This is not true for some cases.

For instance, when we call DestroyWindow, the X queues DestroyEvent. Then,
X11DRV_MsgWaitForMultipleObjects handles the event only; none is posted or
sent as hwnd for destroyed window is unavailable. However, the function
states "new message is available" by returning count - 1 value.

This is an issue for CoWaitForMultipleHandles because it expects a new
message in the queue and consumes the message.

Signed-off-by: Akihiro Sagawa <sagawa.aki@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-25 22:27:40 +09:00
Alexandre Julliard 13fbbfac1c winex11: Don't try to free custom GDI formats at all.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-24 00:16:42 +09:00
Alexandre Julliard 99d5b75c7d winex11: Don't disallow replacing unowned formats.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-23 18:05:48 +09:00
Alexandre Julliard d9df977006 user32: Don't disallow delayed rendering even when not the clipboard owner.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-23 17:57:50 +09:00
Alexandre Julliard 60f8b516e2 winex11: Allocate clipboard data as GMEM_FIXED.
Based on a patch by Rafał Harabień.

Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-18 20:57:51 +09:00
Alexandre Julliard 228d855907 winex11: Correctly free CF_DIB format, and don't free unknown GDI formats.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-18 20:42:06 +09:00
Alexandre Julliard 6da991c75b winex11: Don't crash when getting an invalid window in SelectionRequest.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-18 00:09:36 +09:00
Nikolay Sivov a6a20ccc3c winex11: Simplify XGetWindowProperty return code checks (Clang).
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-11-26 13:19:43 +09:00