Commit Graph

1885 Commits

Author SHA1 Message Date
Henri Verbeet 147f934103 winex11: Only use glXSwapBuffersMscOML() for child windows.
The notion that glXSwapBuffersMscOML() with 0/0/0 target_msc/divisor/remainder
is supposed to behave like glXSwapBuffers() with respect to the swap interval
turns out to have been a misconception on my behalf, the extension spec
doesn't actually say that. Adding to the confusion is the fact that some
drivers do in fact behave like that in practice. It's possible to make
glXSwapBuffersMscOML() use the proper swap interval, but it's much easier to
just use glXSwapBuffers() instead. One consequence of the approach taken in
this patch is that child window buffer swaps aren't necessarily synchronised
to vblank, but ultimately that's up to X11DRV_FLUSH_GL_DRAWABLE, not the
buffer swap. This fixes a regression introduced by commit
e75bc6228e.

Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-07-12 19:51:55 +02:00
Alexandre Julliard 2e0a1cfd83 winex11: Load a monochrome cursor instead of converting a color one when possible.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-07-10 20:51:09 +02:00
Huw Davies daae0d6adc winex11: Use logical co-ords to call GdiAlphaBlend().
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-06-28 12:38:43 +02:00
Sebastian Lackner 136a438daa winex11.drv: Fix compilation when XFixes is not present.
Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-05-30 11:14:27 +02:00
Piotr Caban 22a75a8f07 winex11: Implement clipboard changes tracking using xfixes extension.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-05-24 15:30:24 +02:00
Alexandre Julliard bb6a65e0ca winex11: Fall back to the null driver for common device capabilities.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-05-18 13:35:02 +02:00
Alexandre Julliard 68bbf6fb18 winex11: Remove all trailing nulls when exporting text strings.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-05-10 16:55:37 -05:00
Alexandre Julliard 0bdebc66c6 winex11: Simplify the clipboard HTML export function.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-05-10 15:30:56 -05:00
Huw Davies d645c6ffac winex11: Try to read the dpi from the user key first.
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-04-27 22:22:42 +02:00
Piotr Caban 34b108dd1d user32: Switch to normal window drawing on SetLayeredWindowAttributes call.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-04-19 20:02:55 +02:00
Henri Verbeet e75bc6228e winex11: Use GLX_OML_sync_control to synchronise buffer swaps with X11DRV_FLUSH_GL_DRAWABLE requests.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-24 09:40:10 +01:00
Chris Morgan 9c83e5ccf2 winex11: Wrap XInput2 dependent functions with appropriate #ifdef.
Signed-off-by: Chris Morgan <chmorgan@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-02-27 14:32:17 +01:00
Thomas Faber 3be9f9d036 winex11: Avoid unused variable warning when building without LIBGL.
Signed-off-by: Thomas Faber <thomas.faber@reactos.org>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-02-20 17:23:37 +01:00
Carlos Garnacho 448433ae03 winex11: Use XIAllDevices to select for XI_RawMotion.
Instead of selecting for XI2 events for every slave device individually,
do it for XIAllDevices, and store the current device's relative X/Y
valuators so they can be quickly looked up in the XI_RawMotion events
received.

Signed-off-by: Carlos Garnacho <carlosg@gnome.org>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-02-09 13:16:29 +01:00
Nikolay Sivov 703e82094b winex11: Pass correct buffer length to RegQueryValueExW().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-02-08 16:00:31 +01:00
André Hentschel b1257da658 winex11: Remove dead code (clang).
Signed-off-by: André Hentschel <nerv@dawncrow.de>
Signed-off-by: Aric Stewart <aric@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-02-03 19:05:11 +01:00
Jarkko Korpi be139063e4 winex11.drv: Add 640x400 mode to virtual desktop.
Signed-off-by: Jarkko Korpi <jarkko_korpi@hotmail.com>=
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-01-17 21:48:19 +01:00
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 adc349c38e winex11: Also ignore BadWindow errors caused by XSendEvent.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-12-20 17:08:28 +01:00
Aric Stewart 333c5bd9dd ime: Do not send WM_IME_ENDCOMPOSITION on CPS_COMPLETE if there is no composition.
Signed-off-by: Aric Stewart <aric@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-12-14 20:36:16 +01:00
Carlos Garnacho 64c27d62b5 winex11: Always use the client pointer for raw events.
Use XI2's client pointer, it will be the master pointer affected by X
core calls, and even if it doesn't currently have relative X/Y
capabilities, it will gain those as soon as a slave device with such
capabilities is used.

Signed-off-by: Carlos Garnacho <carlosg@gnome.org>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-11-21 20:57:06 +01:00
Akihiro Sagawa 08b531ed0d winex11: Add Japanese special key support.
Signed-off-by: Akihiro Sagawa <sagawa.aki@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-11-01 20:32:56 +01:00
Hadrien Boizard 288a15fabd winex11.drv: Use EqualRect() instead of memcmp() to compare RECTs.
Signed-off-by: Hadrien Boizard <h.boizard@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-10-19 08:59:37 -07:00
Alexandre Julliard 2e3aa62264 winex11: Add a helper function to send systray notifications.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-10-12 10:57:34 +02:00
Roman Pisl fb70cdb419 winex11: Send WM_CONTEXTMENU on WM_RBUTTONUP and NIN_SELECT on WM_LBUTTONUP.
Signed-off-by: Roman Pisl <rpisl@seznam.cz>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-10-12 10:37:25 +02:00
Roman Pisl 9f774ada6c winex11: Implement NIM_SETVERSION.
Signed-off-by: Roman Pisl <rpisl@seznam.cz>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-10-12 10:37:20 +02: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