Commit Graph

2038 Commits

Author SHA1 Message Date
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
Damjan Jovanovic cd5b868fa0 winex11.drv: Really ignore the drop effect returned from IDropTarget::DragEnter.
Commit a2f3d97406 wanted to ignore the
drop effect returned in IDropTarget::DragEnter, but never did so,
instead it just copied effect to effect_ignore so it can later be
logged.

Signed-off-by: Damjan Jovanovic <damjan.jov@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-04-26 23:29:15 +09:00
Damjan Jovanovic d2314223ae winex11.drv: Improve some XDND log messages.
Signed-off-by: Damjan Jovanovic <damjan.jov@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-04-26 23:29:09 +09:00
Aric Stewart e4d94e4813 winex11.drv: Improve setting IME result text with no composition.
This greatly improves behaviors around deadkeys in Microsoft Word.

Signed-off-by: Aric Stewart <aric@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-04-25 18:48:18 +09:00
Henri Verbeet 8a348a4b99 winex11: Only warn when an RandR output has no modes.
This can legitimately happen when the output is disconnected.

Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-04-20 14:02:40 +09:00
Jacek Caban ef6890835d winex11.drv: Use InitOnceExecuteOnce in has_opengl.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-04-14 13:15:47 +09:00
Michael Müller b49601b5ce winex11: Add 320x240 as supported resolution in desktop mode.
Signed-off-by: Michael Müller <michael@fds-team.de>
Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-04-07 15:04:03 +09:00
Miklós Máté f9696eea8b winex11: Don't create a temporary context each time X11DRV_wglBindTexImageARB is called.
Signed-off-by: Miklós Máté <mtmkls@gmail.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-03-17 01:37:06 +09:00
Henri Verbeet 97e8f047a4 winex11: Implement WGL_WINE_query_renderer on top of GLX_MESA_query_renderer.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-03-16 12:11:07 +09:00
Michael Stefaniuc 17169816cd winex11: Use debugstr_a to print strings that can be NULL.
Signed-off-by: Michael Stefaniuc <mstefani@redhat.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-03-14 19:05:53 +09:00
Jacek Caban ecf9e9135d winex11.drv: Use grabbed window display in SetCapture.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-03-14 13:54:50 +09:00
Miklós Máté c0219a7384 winex11: Add 1280x960 resolution.
This enables high resolution setting in Anachronox, when Wine is configured
to emulate a virtual desktop. The game only supports 640x480 and 1280x960.

Signed-off-by: Miklós Máté <mtmkls@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-02-25 22:45:09 +09:00
Shu Yokoyama 5ccf039fc7 winex11: Fix HRESULT handling in XdndPosition.
Signed-off-by: Shu Yokoyama <yokoyama@graco.c.u-tokyo.ac.jp>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-02-23 20:22:22 +09:00
Henri Verbeet 60a7cb6633 winex11: Get rid of the unused "old_screen_rect" field from struct desktop_resize_data.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-02-20 12:08:06 +09:00
Charles Davis 6509f90eac winex11.drv: Actually query the swap method attribute.
Signed-off-by: Charles Davis <cdavis5x@gmail.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-02-12 23:07:16 +09:00
Alex Henrie e330c40df9 winex11: Fix overflow in remove_startup_notification.
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-01-19 20:48:12 +09:00
Piotr Caban ba21de83a6 winex11.drv: XDNDDropEffect stores OLE Drag&Drop effect so don't use it WS_EX_ACCEPTFILES related drops.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-12-21 18:19:37 +01:00
Piotr Caban 76f7d8c7ab winex11.drv: Reset XDNDAccepted flag if IDropTarget::DragEnter fails.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-12-21 18:19:31 +01:00
Piotr Caban c96589421a winex11.drv: Only update drop effect if IDropTarget::DragOver returned S_OK.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-12-21 18:19:26 +01:00
Piotr Caban fd4dbf0519 winex11.drv: Call DragLeave instead of Drop if DROPEFFECT_NONE was set.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-12-21 18:19:20 +01:00
Piotr Caban a2f3d97406 winex11.drv: Ignore effect returned in IDropTarget::DragEnter.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-12-21 18:19:14 +01:00
Alexandre Julliard 197f708be4 winex11: Include raw motion events in the QS_MOUSEMOVE event filter.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-12-02 15:31:34 +09:00
Hugh McMaster 598d334e73 winex11.drv: Ctrl-Space should generate space, not 0.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-12-01 21:09:56 +09:00
Alexandre Julliard 49e1ba7d4b winex11: Ignore EnterNotify events that are older than the last mouse wrap.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-12-01 17:42:38 +09:00
Alexandre Julliard 9d237f97fc winex11: Add a helper function to check a motion event against the serial number.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-12-01 17:42:01 +09:00
Sebastian Lackner 7ffbd0e1f4 winex11.drv: Fix specfile entry for X11DRV_ScrollDC.
Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-11-29 12:46:22 +09:00
Alexandre Julliard c7c1fb5eab winex11: Flush the output of a flushed surface right away.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-11-27 20:53:31 +09:00
Nikolay Sivov a6a20ccc3c winex11: Simplify XGetWindowProperty return code checks (Clang).
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-11-26 13:19:43 +09:00
Alexandre Julliard 9f5147e08f winex11: Fix a copy&paste typo in the initial position of a window.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-11-23 23:35:17 +09:00
Piotr Caban a19fe8d9c8 winex11.drv: Don't call IDropTarget::{DragOver,DragLeave,Drop} functions if DragEnter fails.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-11-20 20:28:54 +09:00
Piotr Caban 701bb45203 winex11.drv: Inform x11 that we're interested in drop if windows expects WM_DROPFILES message.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-11-20 20:28:54 +09:00
Piotr Caban 5dad16510d winex11.drv: Send WM_DROPFILES if IDropTarget_Drop failed or DROPEFFECT_NONE was set.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-11-20 20:28:54 +09:00
Alexandre Julliard aaa7f2ca5a winex11: Make OpenGL traces more compact and readable.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-11-18 23:05:45 +09:00
Alexandre Julliard ef9c0cecc5 winex11: Always create direct rendering OpenGL contexts.
Indirect rendering is no longer supported nowadays.

Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-11-18 15:36:41 +09:00
Nikolay Sivov 3e59d59ab5 winex11: Remove tracing function that was never used.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-11-16 17:13:44 +09:00
Alex Henrie 6479e32cf0 winex11: Avoid double initialization of variables in OpenGL functions.
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Vincent Povirk <vincent@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-11-05 20:22:37 +09:00
Alex Henrie e5d4d91871 winex11: Make color cubes as big as possible.
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-11-02 23:02:22 +09:00
Alex Henrie fb90e1b673 winex11: Initialize the length of each side of the color cube to 1.
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Vincent Povirk <vincent@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-11-02 23:02:21 +09:00
Anton Baskanov 18dc14ed9a gdi32: Return default palette entries from GetSystemPaletteEntries for non-palette-based devices.
Signed-off-by: Anton Baskanov <baskanov@gmail.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-10-21 19:19:09 +09:00
Jactry Zeng c2dc6f3ef2 winex11: Implement FlashWindowEx.
Signed-off-by: Jactry Zeng <jzeng@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-10-13 23:35:27 +09:00
Thomas Faller 587733855b winex11.drv: Fix use of uninitialized memory. 2015-10-01 23:14:39 +09:00
Gerald Pfeifer 2b42ddf68a winex11: Make a constant unsigned to avoid shift overflow in get_locale_kbd_layout. 2015-09-02 18:33:46 +09:00
Nikolay Sivov 7889b17425 gdi32: Added GetFontRealizationInfo() export. 2015-09-01 19:28:16 +09:00
Thomas Faller 8c1c7d19fe winex11.drv: Fix uninitialized memory. 2015-08-28 13:15:18 +09:00
Damjan Jovanovic 3f99e71fde winex11: Use the correct drop effect for WM_DROPFILES.
Tests show that on Windows, for a window to indicate it will accept a
file drop or to actually accept it, it must have WS_EX_ACCEPTFILES in
its style, contain DROPEFFECT_COPY (which will be chosen if offered
among several drop effects), and be offered the HDROP format.
2015-08-07 14:25:24 +09:00
Damjan Jovanovic b78a9f1aa1 winex11: Only send WM_DROPFILES if there is no drop target.
Windows doesn't send WM_DROPFILES to a window if a drop target is
registered on that window. Some apps that support both even duplicate
dropped files if we send it and a drop target is registered.
2015-08-07 14:25:01 +09:00
Sebastian Lackner 0f3fa3965b winex11: Initialize thread data in clip_cursor_notify. 2015-08-05 23:42:42 +09:00
Vincent Povirk ce409c01d5 winex11.drv: Don't change net_wm maximized state for minimized windows.
In Win32, minimized windows are generally not considered maximized,
but restoring a minimized window that had been maximized returns it to
the maximized state.

In X11, at least with some window managers (I tested metacity and
gnome shell), the maximized state is meaningful for minimized windows.
If we remove the net_wm maximized state from windows we minimize, they
will still be unmaximized when the WM restores them.
2015-07-20 06:30:48 +02:00
Dmitry Timoshkov a02c3ae759 winex11.drv: On KeymapNotify event also sychronize WinKey state. 2015-07-14 14:40:59 +09:00
Vincent Povirk 3d8353fe18 winex11.drv: Track external changes to _NET_WM_STATE in net_wm_state.
In some cases, WM's will modify the _NET_WM_STATE of our own windows.
Most notably, this can happen when the WM maximizes our window, but
mutter has been known to alter the fullscreen state as well. If we
want to reconfigure our window later, we'll probably have to remove
these states, which means we need to remember that they were set.
2015-07-02 20:38:54 +09:00
Dmitry Timoshkov bd24842eba winex11: Don't call ExcludeUpdateRgn for a window with WS_CLIPCHILDREN style. 2015-07-01 22:56:40 +09:00
Nikolay Sivov c0af3fad4e winex11: Remove unreachable XFreePixmap(), mask_pixmap is always NULL on failure (Coverity). 2015-06-03 19:55:12 +09:00
Alexandre Julliard 070a82e743 user32: Merge the AcquireClipboard and EmptyClipboard driver entry points. 2015-06-03 18:46:53 +09:00
Alexandre Julliard b7c340de73 user32: Get rid of the unused parameter in the EmptyClipboard driver entry point. 2015-06-03 18:46:53 +09:00
Huw Davies 10556c25e4 winex11: Fix ctrl-<symbol> to generate codes below 0x20 where necessary. 2015-05-28 22:44:11 +09:00
Indrek Altpere 68e1fdf999 winex11: Fix uninitialized memory access appearing in multiple tests (Valgrind). 2015-05-28 22:44:07 +09:00
Alexandre Julliard 6fec7d658b winex11: Remove unnecessary CLIPBOARDINFO structure. 2015-05-04 18:30:39 +09:00
Vincent Povirk 14eff7b92a winex11.drv: Report failure when we can't convert a selection. 2015-05-04 16:37:22 +09:00
Francois Gouget 3adc91f3fc winex11.drv: Remove unneeded NONAMELESSXXX directives. 2015-04-01 14:13:09 +09:00
Alexandre Julliard 86748a8480 winex11: Cleanup system tray icons when their owner is destroyed instead of polling. 2015-03-27 20:40:36 +09:00
Jinhui Chen 366ed5495c winex11.drv: Fix row-resize/col-resize mapping to X cursor. 2015-03-25 19:44:33 +09:00
Francois Gouget c223994b7a winex11.drv: Make X11DRV_XROPfunction static. 2015-03-16 15:03:39 +09:00
Damjan Jovanovic 1a20050826 winex11.drv: Support XDnD version 5. 2015-03-03 18:12:46 +09:00
Sebastian Lackner 7714efe213 winex11: Only enable XInput2 cursor warp workaround if necessary.
Based on a patch by Patrick Rudolph.
2015-02-27 15:06:24 +09:00
Marcus Meissner ab854893aa winex11.drv: Free uriList (Coverity). 2015-02-16 19:18:45 +09:00
Michael Stefaniuc f256e1476c winex11.drv: Remove an unused assignment (PVS-Studio). 2015-01-23 15:32:59 +01:00
Erich E. Hoover 8e9e4a657f winex11.drv: Update the check for broken nVidia RandR to test for the number of resolutions instead of the number of modes. 2015-01-22 21:35:22 +01:00
Piotr Caban e7cba8f0dc winex11.drv: Don't resize hidden windows on ConfigureNotify event. 2015-01-08 13:58:29 +01:00
Francois Gouget b1ac59b9e9 winex11.drv: Make X11DRV_PALETTE_ComputeColorShifts() static. 2015-01-05 20:17:08 +01:00
André Hentschel 3bddfebe99 winex11.drv: Remove unused code (Clang). 2014-12-04 14:03:22 +01:00
Matteo Bruni 7ba434b4fa winex11.drv: Add support for GLX_OML_swap_method. 2014-11-11 14:20:48 +09:00
Matteo Bruni 3ac85842d3 winex11.drv: Actually report WGL_SWAP_EXCHANGE_ARB as the swap method. 2014-11-11 14:20:39 +09:00
Gerald Pfeifer b0e508a9d3 winex11.drv: Remove wxr_color_shifts. 2014-08-21 12:24:10 +02:00
Gerald Pfeifer fe79e62a9f winex11.drv: Remove colour_is_brighter. 2014-08-21 12:23:45 +02:00
Damjan Jovanovic c60d6c46bf winex11.drv: Allow the clipboard to copy files to other X11 apps. 2014-07-18 19:13:34 +02:00
Damjan Jovanovic 846a8f6c8d winex11.drv: Translate the WM_DROPFILES point into client coordinates whenever possible. 2014-07-18 19:06:43 +02:00
Damjan Jovanovic f2f8d187e4 winex11.drv: Don't memcpy() over the DROPFILES point just after setting it. 2014-07-18 19:05:30 +02:00
Damjan Jovanovic 04d8b325bf winex11.drv: Fix a GlobalLock() reference leak. 2014-07-18 19:05:13 +02:00
Vincent Povirk 5e5a9d6f93 winex11: Leave fullscreen state alone when minimizing. 2014-07-11 17:02:15 +02:00
Damjan Jovanovic 026fe4d08e winex11.drv: Migrate importing text/uri-list XDND selections to the clipboard. 2014-06-13 16:02:47 +02:00
Damjan Jovanovic a58c220d9b winex11.drv: Store XDND cached data in global memory objects. 2014-06-13 16:02:43 +02:00
Damjan Jovanovic c2f73b9780 winex11.drv: Import text/plain XDND selections through the clipboard. 2014-06-13 16:02:38 +02:00
Damjan Jovanovic b6d0df6a31 winex11.drv: Use the clipboard to import text/html XDND selections. 2014-06-12 18:09:41 +02:00
Damjan Jovanovic e339e0d476 winex11.drv: Use the clipboard functions and formats to import selections that XDND doesn't support. 2014-06-12 18:09:34 +02:00
Damjan Jovanovic 8e32b5f887 winex11.drv: Use the global memory functions to allocate the memory for STGMEDIUM's hGlobal. 2014-06-12 18:09:30 +02:00
Damjan Jovanovic a8499c0803 winex11.drv: Don't bother counting how many XDND selections are converted. 2014-06-12 18:09:26 +02:00
Damjan Jovanovic d0360402f0 winex11.drv: text/html should be imported as CF_HTML ("HTML Format"), not CFSTR_INETURL ("UniformResourceLocator"). 2014-06-12 18:09:23 +02:00
Ken Thomases 351fae1206 winex11: Consolidate duplicate code from glxdrv_wglSetPixelFormat() and X11DRV_wglSetPixelFormatWINE(). 2014-05-06 15:45:12 +02:00
Damjan Jovanovic f0a91c0248 winex11: Fix a WM_DROPFILES memory ownership ambiguity. 2014-05-06 15:45:11 +02:00
Alexandre Julliard 6a0f3df68c user32: Don't bother returning a value from the SetWindowRgn driver entry point. 2014-05-01 12:31:14 +02:00
Ken Thomases 3e09763835 winex11: Remove dead store into win_gravity in get_window_attributes(). 2014-04-21 10:42:18 +02:00
Eriks Dobelis 235100bb72 wintab: Initialize lcOutExtX and Y values. 2014-04-01 13:31:02 +02:00
Eriks Dobelis 2de64560fe wintab: Fix incorrectly classifying cursor as stylus instead of eraser. 2014-04-01 13:31:01 +02:00
Ken Thomases 809166def7 winex11: Remove set-but-never-read hwnd and fbconfig_id fields of struct x11drv_escape_set_drawable. 2014-04-01 10:44:57 +02:00
Ken Thomases 4325ecdca8 winex11: Maintain the swap interval when the drawable is recreated.
The swap interval is a property of the GLX drawable, which is destroyed and
recreated by set_gl_drawable_parent() and wglSetPixelFormatWINE().  When that
happens, copy the interval from the old gl_drawable and apply it at the next
call to wglSwapBuffers().
2014-04-01 10:44:34 +02:00
Ken Thomases eb235b6b98 winex11: Remove unused "parent" parameter from create_gl_drawable(). 2014-03-21 11:17:32 +01:00
Ken Thomases 6696e7d9e1 winex11: Don't reset OpenGL swap interval of window on SetParent(). 2014-03-21 11:17:23 +01:00
Aric Stewart 7a907f1fd7 imm32: Add IME_CMODE_FULLSHAPE to conversion mode. 2014-03-12 10:42:29 +01:00
Ken Thomases eef81f5ecc winex11: Don't leak client window and colormap when pixel format is changed. 2014-03-11 19:39:23 +01:00
André Hentschel a35b41acaa winex11: Use boolean return values in boolean function. 2014-01-30 14:51:38 +01:00
Alexandre Julliard 754b65062e configure: Merge the X_LIBS and XLIB variables. 2014-01-30 14:51:32 +01:00
Alexandre Julliard 8aa64e3580 configure: Automatically expand _CFLAGS and _LIBS variables in all makefiles. 2014-01-30 12:42:56 +01:00
Sebastian Lackner f3568a5e12 winex11: Catch invalid values from broken QX11EmbedContainer implementations. 2014-01-27 14:13:29 +01:00
Alexandre Julliard 5e7416e5c8 makefiles: Get rid of the MAKE_DLL_RULES variable. 2014-01-02 12:08:18 +01:00
Frédéric Delanoy 5ba7f79bad Assorted spelling fixes. 2013-12-03 19:41:53 +01:00
Frédéric Delanoy 323bec99b3 winex11.drv: Use BOOL type where appropriate. 2013-11-29 13:32:46 +01:00
Sebastian Lackner 2e0ca3e746 winex11: Send XEMBED_REQUEST_FOCUS request for embedded windows. 2013-11-19 19:03:40 +01:00
Sebastian Lackner df6dc091e6 winex11: Implement additional XEMBED events. 2013-11-11 20:06:56 +01:00
Rico Schüller 2fa9b7ebb5 opengl32: Use opengl xml registry files. 2013-11-05 20:38:21 +01:00