Commit Graph

236 Commits

Author SHA1 Message Date
Dmitry Timoshkov c0e876cb9e server: GetQueueStatus should clear only checked queue changed bits. 2015-04-21 17:32:53 +09:00
Piotr Caban 03f645a76b server: Filter WM_QUIT message in PeekMessage call if PM_QS_POSTMESSAGE was not specified. 2015-02-09 17:40:40 +09:00
Piotr Caban f747e5c8c9 user32: Don't move mouse hardware messages to other threads queues. 2014-10-17 17:51:55 +09:00
Piotr Caban 3f1bbdcae3 server: Send mouse hardware messages to thread owning top-most window.
Also don't limit mouse message scope to top-most window when message
comes from SendInput or window that generated the event is
minimized/transparent.
2014-10-17 17:51:52 +09:00
Felix Janda e3faab267c server: Add missing includes of poll.h. 2014-06-12 18:05:08 +02:00
Vincent Povirk 417585661c server: Clear the queue's QS_SMRESULT bit when sending a new message. 2014-05-20 21:26:52 +02:00
Alexandre Julliard 202d91e551 Revert "server: Restore the masks from the previous get_message when a wait is satisfied."
This reverts commit f846312f46.
The masks will be stored on the client side instead.
2014-04-10 16:28:52 +02:00
Piotr Caban de21941178 user32: Change SetForegroundWindow behavior on windows with parent and no WS_CHILD flag. 2014-03-27 16:18:05 +01:00
Alexandre Julliard f846312f46 server: Restore the masks from the previous get_message when a wait is satisfied. 2014-03-19 16:50:32 +01:00
Alexandre Julliard d4cd051cef server: Store abandoned state as a flag in the wait structure. 2013-08-27 23:48:37 +02:00
Alexandre Julliard 39644bb309 server: Pass a wait queue entry to the signaled/satisfied object functions. 2013-08-27 23:48:36 +02:00
Alexandre Julliard de9f5b33b8 server: Store the wait structure in the wait entry and add an accessor function for the thread. 2013-08-27 23:48:31 +02:00
Henri Verbeet 54efd8a430 server: Only remove WM_INPUT messages from the queue if PM_REMOVE is set. 2012-09-13 10:24:05 +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
Henri Verbeet 5befb959dd user32: Implement RegisterRawInputDevices(). 2012-09-10 11:44:19 +02:00
Alexandre Julliard 36c76dcc24 winex11: Update only the key state on KeymapNotify without sending fake key events. 2012-02-02 17:19:34 +01: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 5a30e31806 server: Optionally return the global key state when queueing a hardware message. 2011-12-15 14:46:53 +01:00
Marcus Meissner df92979b39 server: Removed NULL check after usage (Coverity). 2011-09-23 12:38:54 +02:00
Francois Gouget ff8f6e8662 user32: When destroying a window, preserve the first WM_QUIT message that was posted to it. 2011-08-23 11:50:59 +02:00
Vincent Povirk 79556aeab7 server: Implement QS_HOTKEY. 2011-07-06 19:43:26 +02:00
Marcus Meissner 67320c448b server: Do not promote lparam to signed int (Coverity). 2011-06-28 11:57:51 -05:00
Alexandre Julliard 6b0d9ff1cd server: Allow setting a zero-size clip rectangle. 2011-06-21 15:04:24 +02:00
Vincent Povirk cc0ea69867 server: Post WM_HOTKEY when a hotkey is pressed. 2011-06-21 14:51:14 +02:00
Vincent Povirk 4c83138f72 server: Implement RegisterHotKey/UnregisterHotKey. 2011-06-21 14:51:08 +02:00
Alexandre Julliard f6b0ce3c44 server: Don't queue low-level hooks to a hung queue. 2011-06-17 11:54:43 +02: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
Alexandre Julliard abe5440e32 server: Also return the previous cursor position in the set_cursor request. 2011-04-20 20:29:16 +02:00
Alexandre Julliard 3909f51122 server: Don't queue a hardware WM_MOUSEMOVE if the position hasn't changed. 2011-04-06 21:07:04 +02:00
Alexandre Julliard 34b8c639ce server: Warp the mouse inside the clipping rectangle when it's set. 2011-04-06 20:36:36 +02:00
Alexandre Julliard 39bac05188 server: Queue a WM_MOUSEMOVE message when the cursor position is explicitly changed. 2011-04-06 20:29:38 +02:00
Alexandre Julliard 9c8bbcd1cd server: Fix a memory leak. 2011-04-06 20:00:40 +02:00
Alexandre Julliard 21e86f60ec server: Post a message to the desktop window when the cursor clip rectangle changes. 2011-04-05 13:36:57 +02:00
Alexandre Julliard 6576703fac server: Return the time of last change along with the current cursor position. 2011-03-31 20:15:56 +02:00
Alexandre Julliard c64c36f573 server: Store all desktop cursor information in a separate structure. 2011-03-31 19:54:22 +02:00
Alexandre Julliard 2b96875b6a server: Reset the cursor clip rectangle when the foreground thread changes. 2011-03-30 13:28:04 +02:00
Alexandre Julliard 0b8571e3dc server: Fix checking of X button flags when updating the input key state. 2011-03-07 23:48:03 +01:00
Alexandre Julliard 34efca05c9 server: Fix the contents of the mouse data for the low-level hook. 2011-03-07 11:07:35 +01:00
Alexandre Julliard c7efa293f0 server: Invoke low-level hardware hooks directly from the server side. 2011-03-02 21:26:13 +01:00
Alexandre Julliard 0f18d2bb09 server: Set the message code for mouse input on the server side. 2011-03-02 11:59:38 +01:00
Alexandre Julliard 9731d44921 server: Set the message code for keyboard input on the server side. 2011-03-02 11:34:59 +01:00
Alexandre Julliard 02e30f5f77 server: Pass the original hardware input data to the server and set the message parameters on the server side. 2011-03-02 11:34:15 +01:00
Alexandre Julliard bc4afb0786 server: Don't pass a thread id to send_hardware_message, determine it from the window. 2011-03-01 13:21:58 +01:00
Alexandre Julliard 22468ec65c server: Maintain the "set since last time" bit for the global keystate. 2011-02-28 22:28:21 +01:00
Alexandre Julliard b9e4b5a28c server: Fill the key state in mouse events from the server-side state. 2011-02-28 21:37:09 +01:00
Alexandre Julliard 06b78feade server: Store the global key state in the server. 2011-02-25 13:50:25 +01:00
Alexandre Julliard 02e8174067 server: Store the cursor clip rectangle in the server. 2011-02-25 13:50:19 +01:00
Alexandre Julliard 183c41b49a server: Store the global cursor position in the server. 2011-02-25 11:25:15 +01:00
Alexandre Julliard ac4aac747c server: Make the foreground thread input per-desktop instead of global. 2011-02-25 11:19:46 +01:00
Dmitry Timoshkov 66e981ec8d server: Make layered windows transparent for mouse messages. 2010-06-11 14:16:03 +02:00
Alexandre Julliard 5ee89aad68 winex11: Update the cursor also for events ignored by a hook. 2010-05-12 14:13:15 +02:00
Alexandre Julliard c545982472 server: Return the cursor information for a thread input, and use it for GetCursorInfo. 2010-05-11 11:27:03 +02:00
Alexandre Julliard cd28e2be7c server: Return the current cursor when queuing a hardware message. 2010-04-21 11:07:31 +02:00
Alexandre Julliard 8159d4eb99 server: Add support for storing the cursor and show count in the thread input structure. 2010-03-22 17:52:23 +01:00
Alexandre Julliard 5efe996c6a server: Add a helper function to change a queue thread input. 2010-03-22 17:48:22 +01:00
Alexandre Julliard b0760fc2e9 server: Set the idle event when PeekMessage is called with -1 as window filter. 2010-03-03 13:20:53 +01:00
Alexandre Julliard 4d33d4982f user32: Pass HWND_BOTTOM unmodified to the server in PeekMessage. 2010-03-03 13:20:26 +01:00
Peter Dons Tychsen d21c131fb5 user32: Do not allow a change of capture if the currently capture window is a menu unless explicitly specified. 2010-01-14 09:04:55 -06:00
Alexandre Julliard 7265e89226 server: Set the idle event when retrieving a timer message. 2009-12-16 18:18:07 +01:00
Alexandre Julliard 92e704edc5 server: Don't set the idle event when waiting for a message reply. 2009-12-16 18:06:38 +01:00
Alexandre Julliard 7d4e28480d server: Any thread can set the idle event, don't treat the first one differently. 2009-12-16 18:06:32 +01:00
Alexandre Julliard b57cc5561b server: Don't reset the idle event when the client stops waiting. 2009-12-16 18:06:14 +01:00
Alexandre Julliard d1dc48d8dc server: Don't set the idle event when a queue is destroyed, instead return success in WaitForInputIdle on process exit. 2009-12-16 18:00:34 +01:00
Dmitry Timoshkov acb05666bb user32: Add a test for PeekMessage((HWND)-1), make it pass under Wine. 2009-06-12 17:33:16 +02:00
Alexandre Julliard 2d69ba45d7 server: Reset events on the message queue fd to avoid busy looping when the thread is suspended. 2009-06-03 11:28:18 +02:00
Marcus Meissner 3b86f463b5 server: Handle NULL thread in send_hardware_message (Coverity). 2009-01-29 12:45:32 +01:00
Alexandre Julliard 8c8c665a3c server: Reorganize some requests to avoid padding, and make remaining padding explicit. 2008-12-31 15:14:29 +01:00
Alexandre Julliard cc55fd317a server: Make hook procedures client_ptr_t instead of void pointers. 2008-12-29 17:35:35 +01:00
Alexandre Julliard d1d7b9f3f7 server: Store data for hardware messages in the message extra data. 2008-12-24 19:57:51 +01:00
Alexandre Julliard 31282b3f63 server: Define an lparam_t type for message parameters that can hold all sorts of data. 2008-12-10 16:01:50 +01:00
Alexandre Julliard d764107434 server: Make user handles ints instead of pointers. 2008-12-08 16:57:38 +01:00
Vitaliy Margolen 9faf7e3586 winex11drv: Distinguish left and right keys for shift, ctrl and alt. 2008-04-02 11:14:54 +02:00
Dmitry Timoshkov e735e199ad user32: Reimplement IsHungAppWindow. 2007-12-28 11:43:57 +01:00
Alexandre Julliard 8382eb01b2 server: Return correct object types in the get_directory_entry request. 2007-12-05 18:16:42 +01:00
Alexandre Julliard 942a70dc64 server: When merging mouse messages ignore the window if it isn't set. 2007-11-27 16:43:00 +01:00
Dmitry Timoshkov b4227d7207 server: Make timer id allocation algorithm conform to the Windows one. 2007-11-13 21:45:09 +01:00
Alexandre Julliard 93938ebe5e server: Don't drop mouse messages that should go to a different thread input.
Instead requeue them into the proper destination queue. Reported by
Ulrich Czekalla.
2007-11-08 13:53:26 +01:00
Karl Relton e764e61369 wineserver: Allow already peeked messages to merge. 2007-10-10 12:37:01 +02:00
Rob Shearman c1707d8938 server: Add get_sd and set_sd object operations to allow the security descriptor to be stored somewhere other than server memory, such as on disk. 2007-10-04 12:30:52 +02:00
Trent Waddington fc635fa827 server: Handle existing timer replacement when no window handle specified. 2007-08-30 19:08:16 +02:00
Alexandre Julliard 2896540a34 server: Set the queue mask directly in get_message to avoid an extra server call. 2007-08-29 18:13:13 +02:00
Alexandre Julliard b4edb573fd server: Message results should be stored as longs, not ints. 2007-08-29 18:01:10 +02:00
Alexandre Julliard aaf477f292 server: Change the timeout handling to use NT-style 64-bit timeouts everywhere. 2007-04-17 20:08:59 +02:00
Alexandre Julliard 635714397f server: Add infrastructure for ioctl server request. 2007-04-16 14:45:03 +02:00
Alexandre Julliard 3f0575943e server: Don't bother with default entry points for objects that don't even return an fd. 2007-04-12 20:21:53 +02:00
Alexandre Julliard 7a9363a4d4 server: Rename the get_file_info function to get_fd_type and get rid of the flags. 2007-04-10 22:26:23 +02:00
Alexandre Julliard f85437c57f server: Store the opening options in the file descriptor instead of in the individual objects.
Allows moving the FD_FLAG_OVERLAPPED support to the generic
get_handle_fd request handling.
2007-04-10 22:25:07 +02:00
Alexandre Julliard 72bff2e445 server: Add support for restarting an async I/O when the client side couldn't finish it right away. 2007-04-10 17:07:27 +02:00
Alexandre Julliard 0cb29f47ca server: Add support for associating a file descriptor to a message queue. 2007-04-04 18:02:01 +02:00
Alexandre Julliard 7e71c1ddee server: Add an open_file() function to the object operations. 2007-03-22 11:44:29 +01:00
Andrew Talbot b1788c8462 server: Replace inline static with static inline. 2007-03-17 20:05:05 +01:00
Alexandre Julliard 89faee0194 server: Added support for the PM_QS_* flags in PeekMessage. 2007-02-21 15:21:05 +01:00
Alexandre Julliard 85f518ac6b server: A window timer id should be an unsigned long. 2006-10-16 17:03:44 +02:00
Michael Stefaniuc 5cecceccb2 server: Remove redundant NULL check before free() (found by Smatch). 2006-10-10 12:56:16 +02:00
Alexandre Julliard 3ad9798263 server: Pass the data for message callbacks as vararg from the client side. 2006-10-04 20:25:42 +02:00
Alexandre Julliard 29a3ce9f3a server: Return the data for callback results in the varargs part of the get_message request. 2006-10-04 16:29:45 +02:00
Alexandre Julliard 59dc456822 server: Return the data for winevent hooks in the varargs part of the get_message request. 2006-10-04 16:04:53 +02:00
Alexandre Julliard 753c8706f5 server: Only call gettimeofday once per poll loop. 2006-08-10 16:42:09 +02:00
Alexandre Julliard 672bfc2d62 server: Make the message extra info 64 bits on Win64. 2006-08-09 17:10:14 +02:00