Commit Graph

133 Commits

Author SHA1 Message Date
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 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
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
Francois Gouget 3adc91f3fc winex11.drv: Remove unneeded NONAMELESSXXX directives. 2015-04-01 14:13:09 +09:00
Piotr Caban e7cba8f0dc winex11.drv: Don't resize hidden windows on ConfigureNotify event. 2015-01-08 13:58:29 +01:00
Sebastian Lackner f3568a5e12 winex11: Catch invalid values from broken QX11EmbedContainer implementations. 2014-01-27 14:13:29 +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
Alexandre Julliard 0b71e0bf12 winex11: Add helper functions for converting between root and virtual screen coords. 2013-10-14 17:26:13 +02:00
Alexandre Julliard 8373f8b6f6 winex11: Handle Expose events on top-level client windows. 2013-01-23 19:09:29 +01:00
Alexandre Julliard 8e65485732 winex11: Fall back to normal expose processing for areas outside of the surface region. 2012-12-03 18:24:44 +01:00
Henri Verbeet 32125fe65e winex11: Don't send SC_RESTORE when a maximized window switches to fullscreen. 2012-10-04 14:11:29 +02:00
Alexandre Julliard f12c1c6630 winex11: Switch to an ARGB visual for layered windows with per-pixel alpha. 2012-10-02 14:08:37 +02:00
Henri Verbeet 47c54c4ae7 winex11: Fullscreen windows are never maximized.
Some window managers incorrectly set maximized state on fullscreen windows.
2012-09-28 11:26:22 +02:00
Ken Thomases 5844105223 winex11: Avoid a redundant TRACE. 2012-09-24 22:27:27 +02:00
Alexandre Julliard a6c543d0e6 winex11: Add window data structure locking to the map/unmap functions. 2012-09-21 16:54:40 +02:00
Alexandre Julliard ba926faf91 winex11: Store the window display connection in the window structure. 2012-09-21 16:29:24 +02:00
Alexandre Julliard 5f8e41233b winex11: Add window data structure locking to the XEmbed event handler. 2012-09-19 13:14:00 +02:00
Alexandre Julliard 220f1af064 winex11: Add window data structure locking to the GravityNotify event handler. 2012-09-19 13:13:51 +02:00
Alexandre Julliard 89a60562a7 winex11: Add window data structure locking to the ReparentNotify event handler. 2012-09-19 13:13:40 +02:00
Alexandre Julliard 24c0abfd40 winex11: Add window data structure locking to the ConfigureNotify event handler. 2012-09-19 13:13:23 +02:00
Alexandre Julliard 6a4490d8ab winex11: Add window data structure locking to the Expose event handler. 2012-09-19 13:13:04 +02:00
Alexandre Julliard 2c9ce4968a winex11: Add window data locking to the focus event handlers. 2012-09-18 14:47:02 +02:00
Alexandre Julliard b8edf184ee winex11: Add a helper function to set input focus for non-managed windows. 2012-09-18 14:47:02 +02:00
Alexandre Julliard 731e497a87 winex11: Add window data locking to the drag and drop functions. 2012-09-18 14:47:01 +02:00
Alexandre Julliard c8ea1e50dc winex11: Avoid passing a window data structure to functions that can send messages. 2012-09-17 12:42:21 +02:00
Alexandre Julliard 6f1d43b16e winex11: Check for changes in min/maximize state even when the window rectangle didn't change. 2012-09-06 14:09:06 +02:00
Alexandre Julliard 2eebedf38e winex11: Handle Expose events by refreshing from the window surface. 2012-09-06 14:08:37 +02:00
Alexandre Julliard cf1be58706 winex11: Remove the remaining X11 locking calls. 2012-08-16 16:48:00 +02:00
Alexandre Julliard 6bfcb347bf winex11: Remove X11 locking around simple X calls. 2012-08-14 15:13:08 +02:00
Alexandre Julliard 29c1b8fa08 winex11: Ignore FocusOut event on destroyed windows. 2012-03-09 11:37:15 +01:00
Alexandre Julliard 002f85a275 winex11: Don't give focus to zero-size windows. 2012-02-01 16:42:47 +01:00
Alexandre Julliard 9716d1c861 winex11: Still process all MotionNotify events when using XInput2. 2011-11-09 15:45:13 +01:00
Vincent Povirk 7a21d06295 winex11.drv: Process keyboard events when QS_HOTKEY is specified. 2011-07-06 19:43:52 +02:00
Alexandre Julliard 0e2b4f99a9 winex11: Warp the pointer when clipping, but ignore the resulting events. 2011-05-16 16:35:31 +02:00
Alexandre Julliard 8e9b4e0a5c winex11: Allow MotionNotify events through occasionally while XInput is active. 2011-05-13 16:19:45 +02:00
Alexandre Julliard b081ee452d winex11: Only update the fullscreen pointer grab when something has changed. 2011-05-12 16:24:58 +02:00
Alexandre Julliard a59c7cc859 winex11: Automatically clip the pointer when the foreground window is full-screen. 2011-05-11 14:55:57 +02:00
Alexandre Julliard a28722f531 winex11: Reset the clipping when the desktop window loses focus. 2011-05-11 12:07:37 +02:00
Marcus Meissner ea85bc9509 winex11.drv: Assertion was 1 off (Coverity). 2011-05-02 12:38:13 +02:00
Alexandre Julliard bab850389a winex11: Merge consecutive RawMotion events. 2011-04-27 16:00:50 +02:00
Alexandre Julliard da9922b40d winex11: Ignore MotionNotify events if we have pending RawMotion events. 2011-04-27 16:00:02 +02:00
Alexandre Julliard f1f223d001 winex11: Release the clip cursor grab when the clipping window loses focus. 2011-04-25 10:49:59 +02:00
Alexandre Julliard 0eb19126e5 winex11: Store a message window with the desktop when the cursor is clipped.
This ensures that the thread can be notified when the clip rectangle is reset.
2011-04-22 17:51:28 +02:00
Alexandre Julliard 55bfd2ef0d winex11: Allow installing the event handler multiple times. 2011-04-19 18:29:24 +02:00
Alexandre Julliard 2ed57f9b96 winex11: Make sure the clipping window is initialized in every thread. 2011-04-14 17:13:41 +02:00
Alexandre Julliard bd3ec1a973 winex11: Retrieve raw mouse events through XInput2 while the cursor is clipped. 2011-04-14 12:08:37 +02:00