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
Alexandre Julliard
d3b3096756
server: Split the queuing of hardware messages into a separate send_hardware_message request.
2006-08-09 16:45:26 +02:00
Michael Stefaniuc
a624977f21
server: Fix some comparisons between signed and unsigned.
2006-07-26 11:11:04 +02:00
Alexandre Julliard
0f273c17ff
server: Added data_size_t type to represent sizes in the server protocol.
...
Make it an unsigned int to save some space on Win64, if we need to
transfer more than 4Gb over the server pipe something is seriously
wrong.
2006-07-26 11:11:03 +02:00
Ge van Geldorp
a6df16396a
server: Widen lparam for timers.
2006-07-11 12:39:44 +02:00
Dmitry Timoshkov
19e7fab981
user: Improve SetActiveWindow test, add SetForegroundWindow test, make them pass under Wine.
2006-07-10 11:47:44 +02:00
Mike McCormack
db9b557b54
server: Make wparam and lparam values unsigned long for win64 compatability.
2006-06-08 10:39:58 +02:00
Jonathan Ernst
360a3f9142
Update the address of the Free Software Foundation.
2006-05-23 14:11:13 +02:00
Robert Shearman
22bd7a3d01
server: Don't clear the QS_POSTMESSAGE flag if there is a pending quit message.
2006-05-23 12:37:02 +02:00
Thomas Kho
0e81484c45
x11drv: Properly handle VK_LMENU input.
2006-04-14 19:35:05 +02:00
Robert Shearman
d8058fbe8c
server: Should use release_object on an object instead of free.
2006-04-07 13:07:47 +02:00
Alexandre Julliard
5d282dc891
server: Try to update the input key state even when the message is
...
dropped in queue_hardware_message. This should fix some problems with
the Alt key getting "stuck" after Alt-Tab.
2006-02-14 10:43:15 +01:00
Robert Shearman
a40ce39340
user: Fix WM_QUIT message ordering from PostQuitMessage.
...
Added a new server call as PostQuitMessage should set a flag in the
message queue to return the WM_QUIT message when there are no other
pending messages, rather than posting a message to the thread queue as
it does at the moment.
2006-01-17 13:14:31 +01:00
Alexandre Julliard
28beba31d6
server: Added infrastructure for access rights mapping.
2005-12-12 14:57:40 +01:00
Ge van Geldorp
1a1583a364
Match PSDK STATUS_* definitions.
2005-11-28 17:32:54 +01:00
Vitaliy Margolen
baffcb95d3
Add name_lookup function in object_ops.
2005-11-22 14:55:42 +00:00
Alexandre Julliard
80b997a2cc
Added support for the QS_ALLPOSTMESSAGE flag.
2005-11-14 15:17:09 +00:00
Alexandre Julliard
127127fd3b
Timeout 0 means infinite wait for SendMessageTimeout.
...
Remove the message from the receiver queue if it times out before
being received.
2005-09-13 14:46:46 +00:00
Alexandre Julliard
3f31a10d01
Avoid a crash in find_hardware_message_window when there's no
...
foreground input.
2005-08-16 19:58:12 +00:00
Alexandre Julliard
b6c7677778
Removed a no longer used variable.
2005-07-29 14:41:40 +00:00
Alexandre Julliard
5ad90c0f37
Tie windows and thread input structures to a specific desktop.
...
Support multiple desktop windows (one per desktop object).
Use the window desktop to find the window station to use for property
atoms.
2005-07-11 13:30:23 +00:00
Alexandre Julliard
b9b1ea9c9f
Added a close_handle method to the object operations, and use it to
...
implement registry notifications and the strange behavior of
CloseHandle on winstation/desktop handles.
2005-06-09 15:39:52 +00:00
Robert Shearman
c516571481
- Use NULL instead of 0 for all non-handle pointers.
...
- Fix non-ANSI function declarations.
- Make a function static.
2005-05-25 18:41:09 +00:00
Alexandre Julliard
55d449e476
Fixed another case where a mouse message could get assigned to a
...
different thread input.
2005-05-14 11:08:05 +00:00
Alexandre Julliard
90b48e93a3
Only set the new window of a hardware message if the window belongs to
...
the same thread input, otherwise just drop the message.
2005-05-13 14:00:19 +00:00
Alexandre Julliard
63342353bc
Store a bitmap of active hooks on the client side to try to avoid
...
server calls for hooks that are not set.
2005-05-11 13:03:15 +00:00
Mike McCormack
abe70f7648
Implemented GetLastInputInfo.
2005-04-28 12:04:14 +00:00
Alexandre Julliard
d70a253f40
Make sure a thread has a queue as soon as it creates a window.
2005-04-26 14:31:33 +00:00
Mike McCormack
f92fff66a2
Implemented NtSignalAndWaitForSingleObject.
2005-04-24 17:35:52 +00:00
Alexandre Julliard
3e2f2a5265
Allow nested hardware message processing by storing a unique id in
...
every message and using it to manage the current queue position.
Better filtering of hardware messages to avoid returning messages that
have no chance to match the filter.
2005-04-20 13:03:59 +00:00
Alexandre Julliard
cb7aa8753c
Added support for xbuttons.
2005-03-24 19:16:54 +00:00
Alexandre Julliard
0bc8377bc2
Create a new server request for accepting hardware messages instead of
...
abusing reply_message.
Allow passing the determined window for a hardware message back to the
server to have it redispatch the message to the correct thread.
2005-03-23 10:33:17 +00:00
Alexandre Julliard
e3fe68926c
Revert the previous change, this is not working right yet.
2005-03-17 20:51:53 +00:00
Alexandre Julliard
073d5f2b79
Queue hardware messages even if we don't find a window for them the
...
first time around.
2005-03-16 20:06:45 +00:00
Alexandre Julliard
cf2f14212a
Avoid returning hardware messages if they have no chance to match the
...
filter.
2005-03-14 17:17:09 +00:00
Alexandre Julliard
99615021fb
Properly cope with get_message being called recursively while
...
processing a hardware message.
2005-03-10 11:52:25 +00:00
Alexandre Julliard
d6885fe7d4
Avoid potential crash when freeing a message queue.
...
Properly initialize newly allocated messages.
2005-03-05 10:51:35 +00:00
Alexandre Julliard
aa34768677
Convert the object wait queue to a standard list.
2005-03-01 11:49:58 +00:00
Alexandre Julliard
8e3b072249
Replaced the message_list structure by a standard list.
2005-02-25 21:05:11 +00:00
Krzysztof Foltman
b85017223f
Ensure that caret position is not reset to (0, 0) when CreateCaret is
...
called second time with the same window.
2005-02-18 20:02:55 +00:00
Dmitry Timoshkov
6dba0a7718
Add support for winevent hooks.
2005-02-03 16:40:20 +00:00
Alexandre Julliard
ff986a5a93
Converted the timer list to use standard list functions.
...
Allocate a timer id when the window is 0 instead of relying on the
client to do it.
Allow setting timers on windows belonging to other threads (found by
Mike McCormack).
2004-11-29 18:08:18 +00:00
Dmitry Timoshkov
93a4e1eed3
Take into account window visibility when searching for a target for a
...
hardware mouse message.
2004-10-27 21:55:00 +00:00
Alexandre Julliard
15ca8209d6
Properly reset msg_thread when releasing the thread input structure.
2004-06-17 20:00:25 +00:00
Alexandre Julliard
e37c6e18d0
Fixed header dependencies to be fully compatible with the Windows
...
headers (with help from Dimitrie O. Paun).
2003-09-05 23:08:26 +00:00
Alexandre Julliard
039e13118e
Implemented inter-thread SendMessageCallback.
2003-07-26 20:36:43 +00:00
Alexandre Julliard
ca3ac8f155
Run WH_KEYBOARD_LL and WH_MOUSE_LL hooks in the context of the thread
...
that set the hook.
2003-07-11 21:55:58 +00:00
Alexandre Julliard
09029b2878
Implemented the SMTO_ABORTIFHUNG flag of SendMessageTimeout.
2003-07-11 04:09:42 +00:00
Alexandre Julliard
d55e7f1e9b
Store the hook table in the thread queue instead of the thread
...
structure, and make sure the queue is allocated when setting a hook.
2003-07-03 18:16:48 +00:00
Alexandre Julliard
b1095da50c
Fixed bug that could cause SendMessage to return too early in certain
...
cases.
2003-03-19 00:12:17 +00:00
Mike McCormack
7034e8be67
Added missing release_object.
2003-02-19 00:38:12 +00:00
Alexandre Julliard
e66207ebfc
Moved all references to file descriptors out of the generic object
...
structure.
Changed the poll()-related routines to deal with file descriptors
instead of objects and integrated poll support into fd.c.
2003-02-19 00:33:32 +00:00
Alexandre Julliard
cf27a7fa3b
Changed fd operations to take a struct fd instead of a struct object.
...
Removed get_file_info function from object operations.
Added get_device_id request to avoid abusing get_file_info.
2003-02-14 20:27:09 +00:00
Alexandre Julliard
863637b158
Started moving functions that deal with Unix file descriptors to a
...
separate fd object. This will be needed for file locking.
2003-01-30 00:26:44 +00:00
Alexandre Julliard
8ba666f3a7
Store the keyboard state in the thread input structure on the server
...
side.
2003-01-08 19:56:31 +00:00
Alexandre Julliard
242e395bbc
Store the hardware messages in the thread input structure, not in the
...
thread queue. Get rid of the cooked messages queue.
2003-01-08 00:27:58 +00:00
Alexandre Julliard
b3332d74b0
Converted the server to -DSTRICT.
2002-10-19 01:00:59 +00:00
Alexandre Julliard
11e3523949
Rewrote caret implementation to store the information in the server.
2002-10-17 01:24:33 +00:00
Alexandre Julliard
a9e8f59c95
Moved mouse capture handling into the server.
2002-10-12 01:24:37 +00:00
Alexandre Julliard
5030bda77c
Reimplemented Get/SetActiveWindow, Get/SetFocus and
...
Get/SetForegroundWindow by storing the information in the
server. Implemented correct inter-process window activation.
2002-10-11 23:41:06 +00:00
Alexandre Julliard
ab5063b217
Added server-side infrastructure for the thread input structure.
...
Reimplemented AttachThreadInput() and added GetGUIThreadInfo().
2002-10-11 18:50:15 +00:00
Alexandre Julliard
31022d66ca
Signal and release the idle event when the process main thread exits.
2002-08-16 23:30:41 +00:00
Alexandre Julliard
5769d1de00
Better support for configure detection of missing types, added check
...
for ssize_t.
Removed a couple of no longer used portability functions.
Various portability fixes in port.h.
2002-04-26 19:05:15 +00:00
Alexandre Julliard
81f2a7307b
Send message for WSAAsyncSelect sockets directly from the server,
...
instead of using the service thread. Finished separation of ws2_32.
2002-03-23 20:43:52 +00:00
Alexandre Julliard
0799c1a780
Added LGPL standard comment, and copyright notices where necessary.
...
Global replacement of debugtools.h by wine/debug.h.
2002-03-09 23:29:33 +00:00
Eric Pouech
0faceb05fc
Implemented interprocess DDE message posting.
2002-01-18 19:22:55 +00:00
Mike McCormack
6f011c0847
- move async activation into the server
...
- implement async queues
2001-12-20 00:07:05 +00:00
Alexandre Julliard
9caa71eef4
Redesign of the server communication protocol to allow arbitrary sized
...
data to be exchanged.
Split request and reply structures to make backwards compatibility
easier.
Moved many console functions to dlls/kernel, added code page support,
changed a few requests to behave properly with the new protocol.
2001-11-30 18:46:42 +00:00
Alexandre Julliard
47f9821817
Moved WIN_FindWinToRepaint functionality to the server.
2001-11-14 21:28:36 +00:00
Alexandre Julliard
805bdc53e8
Store the window caption text in the server.
...
Maintain a paint count separately for each window.
2001-11-13 22:23:48 +00:00
Alexandre Julliard
516e40e154
Make sure that GetMessagePos and GetMessageTime return sane values
...
for all messages.
2001-10-17 17:48:49 +00:00
Alexandre Julliard
003f02b733
Removed the cleanup_window_queue request.
2001-10-11 20:50:10 +00:00
Alexandre Julliard
a09da0cbbd
Added proper support for storing window parents in the server.
...
Added a few requests to query the window hierarchy.
2001-09-21 21:08:40 +00:00
Alexandre Julliard
bc878ef4d9
Convert user handles received from client to full handles.
2001-09-12 17:09:24 +00:00
Alexandre Julliard
1a66d226eb
Added global management of user handles in the server.
...
Very preliminary support for shared window handles.
2001-08-28 18:44:52 +00:00
Alexandre Julliard
d253c58b1b
Rewrote most of SendMessage/PeekMessage.
...
Implemented inter-process messaging.
Moved most message routines to dlls/user, and split off 16-bit
routines to a separate file.
2001-08-07 19:19:08 +00:00
Alexandre Julliard
e630aa0b68
Merge WM_MOUSEMOVE messages.
2001-07-11 17:29:01 +00:00
Alexandre Julliard
9f55ae6f62
- Remove cooked hardware messages when they are dropped (reported by
...
Gerard Patel).
- Convert all posted 32-bit messages to Unicode before storing them in
the queue.
- Faster implementation of MSG_IsPointerMessage.
- Moved a couple of functions from queue.c to message.c.
2001-06-28 04:37:22 +00:00
Alexandre Julliard
4b0343dc5f
Moved queue paint count to the server. Removed a few no longer used
...
routines.
2001-06-20 22:55:31 +00:00
Alexandre Julliard
838d65aebe
Moved hardware message queue handling to the server.
2001-06-19 19:16:41 +00:00
Gerard Patel
63b1d175b3
Take message filters into account for WM_PAINT too.
2001-05-21 18:33:56 +00:00
Eric Pouech
476c2b4cc3
Fixed reply_message when there is no received message.
2001-05-19 17:38:21 +00:00
Alexandre Julliard
9be457dd3b
Fixed typo in message filter check.
2001-05-18 23:22:12 +00:00
Alexandre Julliard
51ab43bd13
Moved the major part of message queue and window timer handling into
...
the server.
Implemented MsgWaitForMultipleObjectsEx.
2001-05-18 22:51:56 +00:00
Alexandre Julliard
8081e5a1e5
Added handle_t type to server interface so that we can make handles
...
pointers later on.
Always use 0 to signal invalid handle in server requests.
2001-01-05 04:08:07 +00:00
Alexandre Julliard
1ab243bac1
Merged the get_read_fd and get_write_fd requests.
2000-12-19 02:12:45 +00:00
Alexandre Julliard
c5e433a3a6
Moved idle event handling to the server.
2000-05-30 19:48:18 +00:00