Alex Henrie
359eb9e557
winex11: Avoid dead assignment (scan-build).
...
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-09-16 10:15:46 +02:00
Alex Henrie
a28980da5a
winex11: Factor out array access in ConvertAttribWGLtoGLX (scan-build).
...
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-09-12 22:47:45 +02:00
Sven Baars
6033b3a7fb
winex11.drv: Fix a memory leak (Coverity).
...
Signed-off-by: Sven Baars <sven.wine@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-09-11 22:37:22 +02:00
Rémi Bernon
74efb3e872
winex11.drv: Only call XWarpPointer if we can get exclusive pointer grab.
...
XWarpPointer will always succeed, regardless of grabs, so if the pointer
is already grabbed, by some other application, we should not ask to warp
it.
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-09-06 19:04:31 +02:00
Rémi Bernon
ae4651b7ff
winex11.drv: Explicitly call XUngrabPointer when clipping is released.
...
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-09-06 19:04:29 +02:00
Rémi Bernon
6f9e788fc0
winex11.drv: Do not set clipping_cursor when clip window map state changes.
...
This flag should only indicate a successful call to XGrabPointer. If not
then we could assume we have ownership of the pointer when we don't.
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-09-06 19:04:25 +02:00
Rémi Bernon
92177b0b16
winex11.drv: Retry last ClipCursor when grab is released.
...
As we ignore these NotifyGrab / NotifyUngrab w.r.t focus decisions,
some applications are unaware of mouse grabs being lost and sometimes
cursor clipping is lost. We have to keep the last clip rectangle and
restore it when grab is released.
This has been squashed with the foreground window check from
Zhiyi Zhang <zzhang@codeweavers.com> to fix an issue that happens when
switching from a fullscreen window - because there's some additional
focus events involved - but in general, if the window that is getting
focus cannot be activated:
When FocusIn/NotifyWhileGrabbed is received, SetForegroundWindow is not
called if the window cannot be activated. When the FocusIn/NotifyUngrab
event arrives for the same window, we have to check the foreground
window before restoring cursor clipping rectangle.
For reference, the event sequence when pressing Alt-Tab - for WMs that
grab the keyboard - is the following:
1. FocusOut/NotifyGrab, when WM grabs the keyboard.
2. FocusOut/NotifyWhileGrabbed, while WM switches windows, this calls
SetForegroundWindow(GetDesktopWindow()).
The event sequence for normal windows ends here, but for fullscreen
windows, there may be these additional events:
3. FocusIn/NotifyWhileGrabbed, which may not change Wine foreground
window if it cannot be activated.
4. FocusIn/NotifyUnGrab, when WM releases the keyboard while switching
windows, this is ignored but it should not retry to grab the cursor,
because window is not foreground.
5. FocusOut/NotifyNormal, when WM finishes switching the windows.
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-09-06 19:03:59 +02:00
Rémi Bernon
54f8077c41
winex11.drv: Only grab or warp the cursor when keyboard isn't grabbed.
...
When the window manager has taken a keyboard grab, it may be going to
move the window itself, so the application should not move the cursor
at the same time.
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-09-06 19:03:44 +02:00
Rémi Bernon
4b81771b00
winex11.drv: Do not react to keyboard grab focus events.
...
Several window managers are sending FocusOut with NotifyGrab mode
then FocusOut with NotifyWhileGrabbed mode when a window focus is lost,
as a consequence of grabbing the keyboard input before changing window
focus.
This is the case during alt-tab, but keyboard can also be grabbed when
bringing activity view or clicking on the title bar. In this cases
NotifyWhileGrabbed events aren't sent until the window really loses
foreground.
In the same manner, when focus is restored, they usually send FocusIn
with NotifyWhileGrabbed mode followed by FocusIn with NotifyUngrab mode
when the keyboard grab is released.
When bringing activity view back and forth, or clicking on the title
bar, only NotifyUngrab event will be sent.
In order to be consistent across WM and to help simplifying focus
handling, just ignore focus events related to keyboard grabs.
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-09-06 19:00:17 +02:00
Zhiyi Zhang
25167fb286
winex11.drv: Make screen helpers independent of Xinerama.
...
So that other display device handlers such as XRandR can be introduced
because they might report a virtual screen size with different top-left
corner and the primary screen may be different as well.
Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-08-21 14:18:49 +02:00
Zhiyi Zhang
95a0a5c755
winex11.drv: Add xrandr_get_screen_resources() helper.
...
Getting screen resources will be used in multiple places.
So put it in a function.
Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-08-21 14:18:49 +02:00
Akihiro Sagawa
aaac4e25ab
winex11.drv: Indicate whether the drop point is non-client area.
...
Signed-off-by: Akihiro Sagawa <sagawa.aki@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-08-19 20:27:03 +02:00
Rémi Bernon
de6450135d
winex11.drv: Print the FocusIn/FocusOut mode in trace message.
...
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-08-13 12:49:09 +02:00
Francois Gouget
66873d5fec
winex11.drv: A spelling fix and slight rewording in a comment.
...
Signed-off-by: Francois Gouget <fgouget@free.fr>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-08-08 17:53:36 +02:00
Zhiyi Zhang
7d70d45984
winex11.drv: Add DriverDateData registry property to display adapters.
...
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=35345 .
Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-07-31 09:34:40 +02:00
Alexandre Julliard
4a902de213
gdi32: Make GDI driver functions cdecl.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-07-06 21:47:58 +02:00
Zhiyi Zhang
cb350fc979
winex11.drv: Specify enumerator when calling SetupDiGetClassDevsW.
...
This reduces some search time.
Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-07-01 20:42:42 +02:00
Zhiyi Zhang
23b28323cb
winex11.drv: Use generic GetMonitorInfo.
...
Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-06-25 13:22:17 +02:00
Zhiyi Zhang
074abfe097
winex11.drv: Use generic EnumDisplayMonitors.
...
Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-06-25 13:22:17 +02:00
Zebediah Figura
1bc9c4fdb2
winex11: Update the state of all keys on KeymapNotify.
...
The Binding of Isaac transitions in and out of fullscreen when the "F" key is
pressed. Specifically, it will swap states when receiving WM_KEYDOWN,
provided that the previous key state was not pressed (i.e. bit 30 is 0).
However, as part of the process of transitioning, it hides and shows its
window, causing it to temporarily lose focus. If the F key is released while
the window does not have focus, Wine misses this fact, and thinks that the
key was already pressed the next time it is pressed, causing the game to
refuse to change focus. Windows will not deliver WM_KEYUP messages to a
window that does not have focus, but it will always report the true previous
state of any key on the keyboard when requested.
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-06-18 23:51:52 +02:00
Zebediah Figura
178d2c5768
winex11: Remove redundant calls to update_key_state().
...
These will not actually do anything, and were probably added by mistake,
after the similar calls to VK_CONTROL et al. above.
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-06-18 23:51:52 +02:00
Zhiyi Zhang
7f57cda707
winex11.drv: Handle display device changes.
...
Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-06-13 08:21:00 +02:00
Zhiyi Zhang
31445c3264
winex11.drv: Initialize monitor registry data.
...
Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-06-13 08:21:00 +02:00
Zhiyi Zhang
eada617881
winex11.drv: Initialize adapter registry data.
...
Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-06-13 08:20:01 +02:00
Zhiyi Zhang
bada31698f
winex11.drv: Initialize GPU registry data.
...
Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-06-13 08:16:33 +02:00
Zhiyi Zhang
52a3d5db48
winex11.drv: Add Xinerama display device handler.
...
Display device handlers are used to initialize the display device
registry data. Different handlers can be implemented according to
the defined interface, for example, via Xinerama or XRandR.
With those registry data, EnumDisplayDevices, EnumDisplayMonitors
and GetMonitorInfo can be built on top of it.
Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-06-13 08:09:55 +02:00
Zhiyi Zhang
82c6ec3a32
winex11.drv: Activate window when restoring from iconic state.
...
Some games, e.g., Project CARS waits for WM_ACTIVATE
when restoring from iconic state.
Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-06-10 19:42:38 +02:00
John Found
05d76e7cfe
winex11.drv: Allow the drop target to be a transparent window.
...
Signed-off-by: John Found <johnfound@asm32.info>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-31 12:44:10 +02:00
Henri Verbeet
10dcee21c4
winex11: Only handle errors from GLX requests in GLXErrorHandler().
...
Spurious errors that would otherwise be handled by ignore_error() may cause
OpenGL context creation to fail.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-06 13:19:33 -05:00
Alexandre Julliard
ed22f0454b
explorer: Move screen saver activation to the X11 driver.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-03 16:30:39 +02:00
Alistair Leslie-Hughes
13243a28b2
winex11/wintab: Set all Device Orientation values.
...
Signed-off-by: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-04-23 23:50:44 +02:00
Micah N Gorrell
0cb79db12a
winex11.drv: Recreate gl_drawable for top-level windows as non-top level when clipping for child windows is required.
...
Prevent creating a gl_drawable for a window as type DC_GL_WINDOW if
there are known children of the window, since DC_GL_WINDOW does not
support clipping.
Recreate a gl_drawable that was previously create as type DC_GL_WINDOW
when a child is encountered.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=15232
Signed-off-by: Micah N Gorrell <mgorrell@codeweavers.com>
Signed-off-by: Ken Thomases <ken@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-04-11 19:44:26 +02:00
Zebediah Figura
70d842b106
winex11: Resize the screen when changing CRTC modes.
...
Based on a patch by Gabriel Corona.
According to the RandR spec for RRSetCrtcConfig:
"The entire area of the CRTC must fit within the screen size, else a Match
error results. As an example, rotating the screen so that a single CRTC fills
the entire screen before and after may necessitate disabling the CRTC,
resizing the screen, then re-enabling the CRTC at the new configuration to
avoid an invalid intermediate configuration."
This patch involves resizing the screen also when shrinking a CRTC, not just
when expanding it past the current screen size. This is partially because we
have no way to reliably determine the current display width (DisplayWidth() is
never updated past opening the connection, and RandR exposes no way to
retrieve the screen dimensions), and partially because it's probably what the
user wants anyway (e.g. it's what the `xrandr` configuration app does when the
screen size is not expliticly specified).
This patch fixes TestBot failures on the Debian machines for ddraw, d3d8, and
d3d9 device tests.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=33290
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-04-11 09:15:32 +02:00
Alistair Leslie-Hughes
0652a2ccc9
winex11: Implement PK_CHANGE for wintab.
...
Based on a patch by Eriks Dobelis.
Signed-off-by: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-04-10 21:25:30 +02:00
Akihiro Sagawa
1128587fd2
gdi32: Implement GetCharWidthInfo().
...
Signed-off-by: Akihiro Sagawa <sagawa.aki@gmail.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-04-09 15:46:03 +02:00
Piotr Caban
b8f0a28e8c
winex11.drv: Don't use strcasecmp.
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-04-03 20:27:57 +02:00
Sebastian Lackner
e2389c015c
winex11: Forward all clipping requests to the right thread.
...
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=38087
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-03-18 16:53:30 +01:00
Nikolay Sivov
e03114c75b
winex11: Fix typo in comments.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-03-09 02:09:52 +01:00
Alex Henrie
3f69b7ecc8
winex11.drv: Correct spelling of "plug-n-play".
...
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-12-03 22:27:05 +01:00
Alex Henrie
b43204bc4a
winex11.drv: Make several constants static.
...
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-12-03 22:27:05 +01:00
Alexandre Julliard
9f8049105d
explorer: Move the check for the magic root desktop to the X11 driver.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-10-31 16:43:18 +01:00
Jacek Caban
cbc657a244
winex11.drv: Force changing lock keys state if hooks blocked keyboard input processing.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-10-23 15:51:21 +02:00
Alex Henrie
4e122bdadd
winex11: Return FALSE from LoadTabletInfo if the system isn't a tablet.
...
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=46024
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-10-23 15:31:05 +02:00
Akihiro Sagawa
1931b17868
winex11: Fix a compiler warning when building without vulkan support.
...
Signed-off-by: Akihiro Sagawa <sagawa.aki@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-10-11 23:59:08 +02:00
Michael Stefaniuc
8e1d40b966
winex11.drv: Use the ARRAY_SIZE() macro.
...
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-09-19 23:17:49 +02:00
Alexandre Julliard
9243411837
winex11: Make pixel format traces more compact.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-09-13 19:16:44 +02:00
Alexandre Julliard
dc6f39ac29
server: Use screen coordinates in the update_window_zorder request.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-08-27 15:16:45 +02:00
Rob Walker
70fbfa2cb8
winex11: Improve ChangeDisplaySettingsEx failed mode message.
...
The failed mode error message dumps all the mode fields, that were
being tested. Change this output so that only the mode fields
explicitly being matched against are displayed. Make the failed
message use formatting consist with the trace message, earlier in this
function.
Signed-off-by: Rob Walker <bob.mt.wya@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-08-24 20:12:05 +02:00
Alexandre Julliard
d7cd441373
winex11: Use the stored coordinates to convert back from X11 to window rectangle.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-08-23 10:54:00 +02:00
Alexandre Julliard
341192289b
winex11: Simplify the EnumDisplayMonitors driver entry point.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-08-23 10:54:00 +02:00
Andrew Eikum
18564c76fc
winex11.drv: Fix indentation for focus_out.
...
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-08-22 22:59:54 +02:00
Alexandre Julliard
0cbb086347
winex11: Use fallback implementation for screen dimensions in GetDeviceCaps().
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-08-22 12:57:20 +02:00
Akihiro Sagawa
8743188f5d
winex11: Fix Japanese 106 keyboard scan/vkey code tables.
...
Otherwise, some symbol keys (e.g. backslash) map differently.
As a result, jp106's scan code and vkey tables equal to macjp.
Signed-off-by: Akihiro Sagawa <sagawa.aki@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-08-17 16:51:02 +02:00
Józef Kucia
ed80907152
winex11: Add simple fps counter for Vulkan.
...
The fps counter is implemented in winex11 because winevulkan thunks can
be bypassed.
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-08-15 20:55:10 +02:00
Józef Kucia
284e661966
winex11: Remove redeclaration of VkXlibSurfaceCreateFlagsKHR.
...
VkXlibSurfaceCreateFlagsKHR is also declared in wine/vulkan.h.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=45554
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-08-14 10:16:01 +02:00
Józef Kucia
adb926d5a5
winevulkan: Generate get_vulkan_driver_*_proc_addr() helper functions.
...
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-07-16 21:28:45 +02:00
Józef Kucia
f59925416a
winevulkan: Remove vkAcquireNextImageKHR() from Vulkan driver functions.
...
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-07-16 21:28:45 +02:00
Józef Kucia
5be428f560
winevulkan: Remove vkEnumerateInstanceVersion() from Vulkan driver functions.
...
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-07-16 21:28:45 +02:00
Andrew Eikum
10035f1b97
winemac: Implement Vulkan driver on top of MoltenVK.
...
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Ken Thomases <ken@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-07-13 17:20:43 +02:00
Józef Kucia
a45b04273f
winevulkan: Implement vkEnumerateInstanceVersion().
...
The current version of Vulkan Loader returns VK_API_VERSION_1_1.
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-07-13 17:20:43 +02:00
Józef Kucia
960e52e12f
winevulkan: Add driver functions for VK_KHR_device_group.
...
In order to unwrap VkSurface.
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-07-13 17:20:43 +02:00
Michael Stefaniuc
3e9ce1c26f
winex11.drv: Avoid ARRAY_SIZE-like macros.
...
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-07-09 10:49:14 +02:00
Zebediah Figura
c6b6935bb4
winex11.drv: Wake up the display on user input.
...
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-07-04 19:08:01 +02:00
Andrey Gusev
d09c4d9116
winex11.drv: Move condition to the proper place.
...
Signed-off-by: Andrey Gusev <andrey.goosev@gmail.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-06-22 12:44:48 +02:00
Alistair Leslie-Hughes
75ec09708f
winex11: Correct compile without vulkan support.
...
Signed-off-by: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-06-15 12:56:48 +02:00
Alexandre Julliard
3a72836136
winex11: Fix exposing partially off-screen windows.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-06-14 13:19:50 +02:00
Andrew Eikum
f74e8a2967
winex11.drv: Refcount the vulkan surface window.
...
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-06-14 09:31:06 +02:00
Józef Kucia
e6e7976d66
winevulkan: Introduce WINE_VK_HOST to explicitly request 'host' Vulkan headers.
...
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-06-01 19:43:56 +02:00
Józef Kucia
6efa2e128c
winex11: Make get_vulkan_driver() thread-safe.
...
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-05-31 20:00:38 +02:00
Józef Kucia
1e37d61eb9
winex11: Get rid of unnecessary assignments.
...
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-05-30 22:26:49 +02:00
Józef Kucia
11cd0d34a2
winex11: Interpolate gamma ramp when gamma ramp size is greater than 256.
...
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-05-28 11:01:25 +02:00
Józef Kucia
913160d2a4
winex11: Introduce GAMMA_RAMP_SIZE.
...
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-05-28 11:01:24 +02:00
Alexandre Julliard
c102efbc35
winex11: Avoid left_side/top_side cursor names.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-04-27 11:22:00 +02:00
Alexandre Julliard
508ad84bbe
winex11: Support multiple fallbacks for cursor names.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-04-23 12:01:40 +02:00
Alexandre Julliard
3c8ff605a6
winex11: Allow embedded windows to use an alpha channel with their surface.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-04-04 22:04:22 +02:00
Józef Kucia
6380d57c69
winevulkan: Support VK_NO_PROTOTYPES in our Vulkan header.
...
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-04-03 22:00:29 +02:00
Józef Kucia
fa25567352
winex11: Use VK_KHR_WIN32_SURFACE_* constants.
...
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-04-03 22:00:01 +02:00
Michael Stefaniuc
121f20453b
winex11.drv: Print a debugstr and not the pointer to it.
...
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-04-02 16:02:54 +02:00
Józef Kucia
efddcedd16
winex11: Return Wine Vulkan driver device functions from vkGetInstanceProcAddr().
...
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-03-29 17:26:16 +02:00
Józef Kucia
45cea4b459
winex11: Get rid of wine_vk_load_instance_extensions().
...
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-03-29 17:26:08 +02:00
Józef Kucia
1fab177c07
winex11: Print error message when libvulkan cannot be loaded.
...
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-03-29 17:26:02 +02:00
André Hentschel
4f547e784a
winex11: Build helper functions only when needed.
...
Signed-off-by: André Hentschel <nerv@dawncrow.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-03-29 16:06:02 +02:00
Wei xie
48fb9d6a03
winex11: Avoid deadlock when setting cursor.
...
Signed-off-by: Wei xie <xiewei@linuxdeepin.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-03-29 09:28:34 +02:00
Alexandre Julliard
9b2b9d9cb3
winex11: Use more common names for resizing cursors.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-03-28 20:11:07 +02:00
Józef Kucia
295b630144
winex11: Return Wine Vulkan driver functions from vkGetDeviceProcAddr().
...
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Roderick Colenbrander <thunderbird2k@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-03-26 11:25:14 +02:00
Józef Kucia
e952a1879f
winex11: Return Wine Vulkan driver functions from vkGetInstanceProcAddr().
...
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Roderick Colenbrander <thunderbird2k@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-03-26 11:25:10 +02:00
Józef Kucia
73f9ceddab
winex11: Properly indent LOAD_FUNCPTR() for Vulkan functions.
...
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-03-23 16:24:22 +01:00
Józef Kucia
eefc444f9f
winex11: Simplify X11DRV_vkEnumerateInstanceExtensionProperties().
...
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-03-23 16:24:13 +01:00
Nikolay Sivov
9e539f4822
winex11: Fix build without Vulkan support.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-03-22 08:52:01 +01:00
Józef Kucia
107e7c78fc
winex11: Print ERR() message when Wine was built without Vulkan support.
...
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-03-21 10:13:47 +01:00
Henri Verbeet
14ec499d5b
winex11: Restore the X11DRV_FLUSH_GL_DRAWABLE XFlush() for setups without OML_sync_control.
...
This was removed in e75bc6228e
, but appears to
mitigate lack of OML_sync_control in at least some setups.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-03-16 16:40:32 +01:00
Roderick Colenbrander
8ef70305f9
winevulkan: Filter graphics driver reported instance extensions.
...
Signed-off-by: Roderick Colenbrander <thunderbird2k@gmail.com>
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-03-15 12:20:44 +01:00
Roderick Colenbrander
7b07952c25
winex11: Implement Vulkan swapchain support.
...
Signed-off-by: Roderick Colenbrander <thunderbird2k@gmail.com>
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-03-14 16:40:39 +01:00
Roderick Colenbrander
bd13129a9b
winex11: Implement support for vkGetPhysicalDeviceSurface*KHR APIs.
...
Signed-off-by: Roderick Colenbrander <thunderbird2k@gmail.com>
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-03-13 20:58:08 +01:00
Roderick Colenbrander
53df81c457
winex11: Implement vkDestroySurfaceKHR.
...
Signed-off-by: Roderick Colenbrander <thunderbird2k@gmail.com>
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-03-13 20:58:08 +01:00
Roderick Colenbrander
2d09b4930f
winex11: Implement vkGetPhysicalDeviceWin32PresentationSupportKHR.
...
Signed-off-by: Roderick Colenbrander <thunderbird2k@gmail.com>
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-03-13 20:58:08 +01:00
Roderick Colenbrander
211de3aa0b
winex11: Add initial vkCreateWin32SurfaceKHR implementation.
...
Implement surface creation for top-level windows. Child window rendering
is not yet supported.
Signed-off-by: Roderick Colenbrander <thunderbird2k@gmail.com>
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-03-13 20:58:08 +01:00
Roderick Colenbrander
43c71d9916
winex11: Enable surface support for instances.
...
Signed-off-by: Roderick Colenbrander <thunderbird2k@gmail.com>
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-03-12 17:59:40 +01:00
Roderick Colenbrander
0cb6654237
winevulkan/winex11: Add Vulkan WSI stubs (VK_KHR_surface / VK_KHR_swapchain).
...
The WSI APIs are meant for window system integration, so essentially the WGL
of Vulkan. Implementation belongs in the graphics drivers as we need to hook
into surface and swapchains.
Signed-off-by: Roderick Colenbrander <thunderbird2k@gmail.com>
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-03-12 17:59:35 +01:00
Roderick Colenbrander
6eacdf38e2
winevulkan: Implement vkCreateDevice.
...
Signed-off-by: Roderick Colenbrander <thunderbird2k@gmail.com>
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-03-09 13:15:16 -06:00
Roderick Colenbrander
4ab041c370
winevulkan: Load instance functions.
...
Signed-off-by: Roderick Colenbrander <thunderbird2k@gmail.com>
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-03-02 16:19:45 +01:00
Roderick Colenbrander
75b68a8585
winevulkan/winex11: Implement vkCreateInstance.
...
Signed-off-by: Roderick Colenbrander <thunderbird2k@gmail.com>
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-03-01 19:25:57 +01:00
Roderick Colenbrander
0c87c1c4b7
winex11: Implement vkEnumerateInstanceExtensionProperties.
...
Signed-off-by: Roderick Colenbrander <thunderbird2k@gmail.com>
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-02-27 12:47:17 +01:00
Roderick Colenbrander
6a5c85564c
winex11: Add Vulkan stubs.
...
Signed-off-by: Roderick Colenbrander <thunderbird2k@gmail.com>
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-02-27 12:47:17 +01:00
Roderick Colenbrander
3de61a9dd9
winevulkan: Define vulkan driver interface.
...
Signed-off-by: Roderick Colenbrander <thunderbird2k@gmail.com>
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-02-27 12:47:16 +01:00
Alexandre Julliard
7bc327a1d1
winex11: Get rid of the WineGLInfo structure.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-02-12 16:06:01 +01:00
Alexandre Julliard
1ce36987eb
winex11: Use the client window support also for XComposite child windows.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-02-12 15:49:23 +01:00
Alexandre Julliard
ac4f2ac36f
winex11: Hold a reference to the drawable from the GL context.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-02-12 15:42:05 +01:00
Alexandre Julliard
6dc30a2ed3
winex11: Implement refcounting of GL drawables.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-02-12 15:34:57 +01:00
Alexandre Julliard
99041a6fd3
winex11: Store only the pixmap size instead of the window rectangle in the GL drawable.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-02-09 13:10:25 +01:00
Alexandre Julliard
9efcd61d01
winex11: Store the visual info in the OpenGL pixel format.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-02-09 11:08:37 +01:00
Alexandre Julliard
31c7a7157d
winex11: Default to an ARGB visual when depth is set to 32.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-01-26 13:39:22 +01:00
Alexandre Julliard
e40ff92e7c
winex11: Support using an ARGB visual as default visual.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-01-26 13:39:03 +01:00
Alexandre Julliard
dcf526b5b1
winex11: Force the alpha bits in the window surface for 32-bit visuals.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-01-26 13:38:13 +01:00
Alexandre Julliard
a2a2b5bc88
winex11: Use a separate XRender format for the root window.
...
When using a custom visual, the default format may not work with the
root window.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-01-26 13:36:21 +01:00
Alexandre Julliard
d6332e0e57
winex11: Use the correct colormap for the OpenGL parent window.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-01-26 13:35:38 +01:00
Henri Verbeet
3eaa23cbbf
winex11: Implement WGL_ARB_create_context_no_error.
...
Mostly because it's easy, and we'd like to use this from wined3d at some
point.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-01-24 21:30:51 +01:00
Alexandre Julliard
5ef349e45f
winex11: Don't allocate a window surface for off-screen windows.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-01-22 15:18:47 +01:00
Henri Verbeet
1246a27730
winex11: Failing to create a context in X11DRV_wglCreateContextAttribsARB() is not an internal error.
...
In particular, without WGL_WINE_query_renderer, the only way to determine
whether a particular context version is supported or not is by attempting to
create a context with that version.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-01-19 19:45:57 +01:00
Alex Henrie
5c06eba58e
winex11: Escape non-UTF-8 characters in string literals.
...
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-01-04 21:46:59 +01:00
Rafał Harabień
5c2526a086
winex11.drv: Preserve last error in x11drv_thread_data().
...
Signed-off-by: Rafał Harabień <rafalh1992@o2.pl>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-11-17 17:44:05 +01:00
Akihiro Sagawa
4adfb1be29
user32: Send WM_IME_CHAR messages from DefWindowProc.
...
Signed-off-by: Akihiro Sagawa <sagawa.aki@gmail.com>
Signed-off-by: Aric Stewart <aric@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-11-16 21:48:49 +01:00
Akihiro Sagawa
b8dc1e7cde
winex11: Keep the result string in the IME UI window procedure.
...
Signed-off-by: Akihiro Sagawa <sagawa.aki@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-11-14 18:06:43 +01:00
Alexandre Julliard
5632c82c42
include: Get rid of wglext.h.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-10-11 19:49:29 +02:00
Alexandre Julliard
17dffaac7d
opengl32: Get WGL function definitions from the XML files.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-10-10 10:06:10 +02:00
Vincent Povirk
50b0336914
winex11: Convert process name to lowercase for WM name hint.
...
The startup-notification spec is vague on this point, but it seems
that StartupWMClass is case-sensitive. We should convert to a
standard case so we can use that field.
Signed-off-by: Vincent Povirk <vincent@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-09-08 18:54:52 +02:00
Miklós Máté
cd4139df3c
winex11: Improve the desktop resolution list.
...
Signed-off-by: Miklós Máté <mtmkls@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-08-26 06:30:28 +02:00
Alexandre Julliard
401ccc73e2
winex11: If importing an X11 clipboard format fails, try other candidate formats for the target.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-08-25 08:09:06 +02:00
Alexandre Julliard
fc21a83a91
winex11: Store the process name at startup to avoid grabbing the loader lock again.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-07-17 22:12:08 +02:00
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
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
Jacek Caban
af9f722361
winex11.drv: Added ThreadDetach entry point and use it instead of DllMain.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-30 11:43:38 +09:00
Akihiro Sagawa
876d5de0b4
winex11: Use proper return type for process_events().
...
Signed-off-by: Akihiro Sagawa <sagawa.aki@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-29 16:39:33 +09:00
Akihiro Sagawa
030e1f4f5f
winex11: Fix log message in process_events().
...
Signed-off-by: Akihiro Sagawa <sagawa.aki@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-29 16:39:29 +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