Commit Graph

2046 Commits

Author SHA1 Message Date
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
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
Nils Kuhnhenn 1def1e2f7f winex11.drv: Return default locale in LoadKeyboardLayout stub instead of 0.
Signed-off-by: Nils Kuhnhenn <kuhnhenn.nils@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-17 13:38:35 +09:00
Kirill Smirnov 1b4e193473 winex11.drv: Avoid passing NULL to memcpy (clang).
Signed-off-by: Kirill K. Smirnov <kirill.k.smirnov@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-07-09 15:42:27 +09:00
Kirill Smirnov 827f97c1ab winex11.drv: Fix an uninitialized variable (clang).
dst_bits structure is valid only if copy_image_bits() succeeded.

Signed-off-by: Kirill K. Smirnov <kirill.k.smirnov@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-07-08 12:13:14 +09:00
Hadrien Boizard 81538ebb6d winex11.drv: Use wine_dbgstr_point in TRACES.
Signed-off-by: Hadrien Boizard <h.boizard@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-07-07 22:19:37 +09:00
Piotr Caban 6afecf2223 winex11.drv: Don't assume that owner is top-level window in set_style_hints.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-07-03 10:54:17 +09:00
Alexandre Julliard 10b526733f winex11: Implement FillPath, StrokeAndFillPath and StrokePath.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-06-17 00:09:20 +09:00
Aric Stewart a357a29a55 winex11.drv: Correct sizes in COMPOSITIONSTRING structure when updating fields.
Signed-off-by: Aric Stewart <aric@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-06-03 12:30:06 +09:00
Alexandre Julliard 6f2c18609b winex11: Hide window icons in desktop mode when the taskbar is active.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-05-31 22:42:00 +09:00
Miklós Máté c89dc58deb winex11: Use GLX 1.3 for windows.
Differentiate between X window and GLX window, use GLX 1.3 for GL window
create/destroy.

Signed-off-by: Miklós Máté <mtmkls@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-05-30 20:50:17 +09:00
Miklós Máté 9859365d77 winex11: Use GLX 1.3 for pixmaps.
Signed-off-by: Miklós Máté <mtmkls@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-05-30 20:40:26 +09:00
Alexandre Julliard 6c6814056f winex11: Subtract the tray window from the work area in desktop mode.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-05-26 22:14:51 +09:00
Ken Thomases daa351ee82 winex11: Fix logic of whether to use XUnmapWindow() or XWithdrawWindow() in make_window_embedded().
Signed-off-by: Ken Thomases <ken@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-05-17 14:20:36 +09:00