Huw Davies
0d9ce8a025
user32: Add a heuristic to find the mouse message's window.
...
This can't be done properly without support from the native windowing
system. However, it's a good bet to try the next window in the z-order
if it's the owner of the original window and it's in the same thread.
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-02-06 14:28:10 +01:00
Alexandre Julliard
01676c5dd6
user32: Use the magic format string prefix for relay traces.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-11-25 12:05:40 +01:00
Alexandre Julliard
3ab6174997
user32: Use the correct top-level window when activating through a mouse click.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-09-01 09:15:44 +02:00
Zebediah Figura
ae153a5c2c
user32: Allow activating the desktop window.
...
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-07-19 19:13:31 +02:00
Huw Davies
8d10b5cecc
user32: Use the original message's wparam during the double-click comparison.
...
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-06-05 19:49:35 +02:00
Zebediah Figura
fe95de98b5
user32: Move internal message from EnableWindow to WIN_SetStyle().
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-04-25 11:47:20 +02:00
Alexandre Julliard
7594afeb6c
user32: Fix InSendMessage return value.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-30 14:38:15 +09:00
Sebastian Lackner
57b7a9937d
user32: Implement SetCoalescableTimer and add basic tests.
...
Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-04-29 20:30:57 +09:00
Sebastian Lackner
b4ac51effa
user32: Do not block sending/posting WM_NOTIFY messages.
...
Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-04-20 16:54:47 +09:00
Nikolay Sivov
ad7cb43657
user32: Limit broadcast messages to system and registered ones.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-04-09 00:12:24 +09:00
Kira Backes
94aee7a738
user32: Add MOUSEHOOKSTRUCTEX for mouse wheel support.
...
Signed-off-by: Kira Backes <kira.backes@nrwsoft.de>
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-02-05 14:06:50 +09:00
Qian Hong
43197e6641
user32: Properly handle WM_DEVICECHANGE in is_pointer_message().
...
Signed-off-by: Qian Hong <qhong@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-12-30 17:27:52 +01:00
Alex Henrie
5b53c0b88b
user32: Avoid double initialization.
...
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-11-06 21:59:08 +09:00
Stefan Dösinger
ccf430eb52
user32: Silently ignore temporary foreground loss.
...
The basic problem is this: Thread A has a window W1 that is it's focus
window and the system-global foreground window. At some point thread A
stops processing messages. After that, thread B creates a window W2
and makes it the foreground window. Thread B later on makes W1 (from
Thread A) the foreground window again. After restoring W1 as the
foreground window, Thread A processes window messages again. Two
WM_WINE_SETACTIVEWINDOW messages are in the queue, one for losing the
foreground thread propery and one for restoring it. The first one will
generates a WM_ACTIVATEAPP(0) message, which causes D3D to minimize
the game window.
The included test shows that Windows doesn't deliver any
WM_ACTIVATEAPP messages if the thread stopped being the foreground
thread and re-gained that property between two message processing
calls. It isn't implemented with a plain WM_ACTIVATEAPP filter, the
manually injected message in the test still gets through.
Signed-off-by: Stefan Dösinger <stefan@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-11-01 22:53:53 +09:00
Alexandre Julliard
247275aec3
server: Return a valid position also in posted messages.
2015-04-27 18:04:59 +09:00
Sebastian Lackner
d3be42ab96
user32: Invalidate key state cache globally after running LL hooks.
2015-04-07 15:14:04 +09:00
Sebastian Lackner
325c061bbd
user32: Move key state cache into a separate struct.
2015-04-07 15:14:02 +09:00
Qian Hong
cd21d2dbda
user32: Add more exception handlings for timer callbacks.
2014-11-11 16:15:46 +09:00
Piotr Caban
f747e5c8c9
user32: Don't move mouse hardware messages to other threads queues.
2014-10-17 17:51:55 +09:00
Alexandre Julliard
82bee5ceda
user32: Properly block sent messages while waiting for a reply with SMTO_BLOCK.
2014-06-17 15:14:51 +02:00
Sebastian Lackner
e9fbcc8360
user32: Avoid race-condition when unloading module while hook is still active.
...
Based on a patch by Sam Revitch.
2014-06-17 10:40:12 +02:00
Erich E. Hoover
b5bd529769
user32: Reduce the minimum Set[System]Timer from 15 ms to 10 ms.
2014-05-01 18:56:46 +02:00
Alexandre Julliard
b045851648
user32: Cache the server queue mask on the client side and reset them when they have changed.
2014-04-10 16:29:18 +02:00
Nikolay Sivov
d3c9e8a7e6
user32: Added ChangeWindowMessageFilterEx() stub.
2014-03-20 17:46:01 +01:00
Alexandre Julliard
fc183ba2c5
user32: Set the queue mask only after flushing the window surfaces.
2014-03-19 15:56:22 +01:00
Frédéric Delanoy
762aef6613
user32: Use BOOL type where appropriate.
2013-11-20 11:26:30 +01:00
Frédéric Delanoy
77ee42fd33
user32: Use BOOL type where appropriate.
2013-11-05 11:15:06 +01:00
Alexandre Julliard
fe441a0682
user32: Register classes once the graphics driver has been loaded, except for the desktop class.
2013-10-24 19:01:54 +02:00
Alexandre Julliard
6d0d7e08e5
user32: Fix the scope of a local variable.
2013-10-21 14:48:20 +02:00
Michael Stefaniuc
7c7fa1051c
user32: Avoid using CONST.
2013-09-24 12:57:57 +02:00
Alexandre Julliard
fa311c57bf
user32: Check for driver events more quickly once we start getting timer messages.
2013-07-02 19:39:34 +02:00
Huw Davies
5d5d0935ea
user32: Use the codepage associated with the input locale for WM_CHAR-type conversions.
2013-05-21 16:59:58 +02:00
Huw Davies
bf85df3f0e
user32: Move back to using WC<->MB in order to specify an alternative codepage.
2013-05-21 16:55:11 +02:00
Erich Hoover
057b0d8bca
user32: SetTimer and SetSystemTimer should respect the timeout limits.
2013-05-06 15:55:20 +02:00
Aric Stewart
6e4cbd5787
user32: ImmProcessKey is only called on WM_KEYDOWN and if the message is being removed.
2013-03-28 18:55:58 +01:00
Ken Thomases
5fb543f6e2
user32: In TranslateMessage, handle ToUnicode returning 2 or more chars.
2013-02-05 11:07:02 +01:00
Alexandre Julliard
bd5d5e9776
user32: Start checking for driver events more often when the app doesn't consume messages properly.
2012-12-12 20:17:21 +01:00
Alexandre Julliard
1cf2c9c179
user32: Ignore the PM_NOYIELD flag on the client side.
2012-12-05 12:48:37 +01:00
Alexandre Julliard
a0f039a604
user32: Fix the wait event mask in PeekMessage.
2012-11-22 11:57:15 +01:00
Alexandre Julliard
841214ddb4
user32: Don't check for driver events before normal messages in PeekMessage.
2012-11-21 19:20:27 +01:00
Alexandre Julliard
8ba4c316f2
user32: Don't check for driver events before normal messages in GetMessage.
2012-11-21 19:20:09 +01:00
André Hentschel
64e169d974
user32: Avoid memory leaks (coverity).
2012-10-30 19:14:17 +01:00
Alexandre Julliard
b7582525a0
user32: Don't flush window surfaces while waiting for a sent message reply.
2012-10-29 14:39:53 +01:00
Henri Verbeet
3ed797b265
user32: Implement GetRawInputDeviceList().
2012-10-18 19:20:27 +02:00
Alexandre Julliard
5db9abaf81
user32: Always flush window surfaces in PeekMessage, even with PM_NOYIELD.
2012-10-01 12:13:00 +02:00
Henri Verbeet
c6fcc0255c
user32: Add rawinput keyboard support.
2012-09-12 12:47:13 +02:00
Henri Verbeet
faaf3d388e
user32: Add rawinput mouse support.
2012-09-11 18:06:34 +02:00
Alexandre Julliard
02442b52a4
user32: Return the cursor position in send_hardware_message and use it to update the driver's position.
2012-01-09 12:14:36 +01:00
Alexandre Julliard
cb3b723792
user32: Cache the global key state to avoid performance issues in applications that poll constantly.
2011-12-15 16:25:40 +01:00
Alexandre Julliard
8aa1a26886
user32: Pass a NULL rectangle in the ClipCursor entry point when clipping is reset because of focus change.
2011-04-22 17:51:28 +02:00