Commit Graph

254 Commits

Author SHA1 Message Date
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 4323004bf1 Create an X connection for each thread, and process X events in the
thread that created the corresponding X window.
Spawn a separate thread to run the desktop message loop in desktop
mode.
2001-05-16 19:52:29 +00:00
Alexandre Julliard 32ee168200 Use 32-bit hook functions where possible. Cleaned up a couple of
16-bit type uses.
2001-05-09 17:33:00 +00:00
Alexandre Julliard 9ae0fe54b0 Moved most of the implementation of SetWindowPos and SetDrawable into
the user driver, and the corresponding code into the dlls/x11drv
directory. Moved a few functions out of the window driver into the
user driver. Plus a few related cleanups.
2001-04-24 23:28:52 +00:00
Gerard Patel 7a06d45fca Do not send WM_MOUSEACTIVATE for children of desktop. 2001-04-17 17:57:20 +00:00
Alexandre Julliard 3f03975f48 Added first/last message filters to MSG_InternalGetMessage to avoid
busy waits.
2001-04-12 21:09:03 +00:00
Alexandre Julliard 3e7497f20e Unified 16-bit and 32-bit scheduling a bit more. 2001-04-04 00:19:55 +00:00
Alexandre Julliard da2892c0fb Do not allocate any USER data on the system heap. 2001-02-23 01:13:42 +00:00
Marcus Meissner 5bcef61fba PostMessageA/W ignores messages containing pointers and returns
FALSE/LastError ERROR_INVALID_PAREMETER.
2001-02-13 01:48:39 +00:00
Andreas Mohr cd5f28bd69 Make sure that MSG_PeekMessage uses an internal variable to avoid
corruption.
2001-02-12 19:15:06 +00:00
Patrik Stridvall df75e89df5 Documentation name fixes (always use external name). 2001-02-12 03:49:07 +00:00
Ulrich Weigand 52e891d5ec Synchronize access to MESSAGEQUEUE members. 2001-01-29 00:33:35 +00:00
Eric Pouech 982e0ce07f Added a few missing exports. 2001-01-28 23:44:56 +00:00
Patrik Stridvall 0c61028734 Documentation ordinal fixes. 2001-01-25 22:22:21 +00:00
Alexandre Julliard 7d5bc5c3f9 Removed some direct accesses to the 16-bit task structure. 2001-01-15 20:09:09 +00:00
Ulrich Weigand e27670eac5 Fixed byteorder problems caused by non-portable code. 2001-01-11 00:52:50 +00:00
Eric Pouech 4d24e0f5a6 Replaced calls to KERNEL.Yield16 by calls to KERNEL32.K32WOWYield from
outside libkernel.so.
2000-12-22 23:25:47 +00:00
Patrik Stridvall 2ece70e77b Various documentation fixes. 2000-12-22 01:38:01 +00:00
Alexandre Julliard 982a223f36 Replaced PTR_SEG_TO_LIN macro by exported MapSL function.
Fixed a few ptr/segptr mismatches.
Moved CONV_RECT/POINT macros to wingdi16.h.
2000-12-13 20:20:09 +00:00
Alexandre Julliard 91222da881 Moved most builtin controls structures into their respective C file.
Created new controls.h file private to user32.dll and moved remaining
builtin controls definitions there.
2000-12-10 23:01:33 +00:00
Andreas Mohr 1af53cbb2a - README update
- add offsets to ASPI struct defines
- spelling
2000-12-09 03:15:32 +00:00
Patrik Stridvall 2b3aa616e8 Added/modified documentation for function arguments. 2000-12-01 23:58:28 +00:00
Ove Kaaven bea05609a7 Check whether senderQ is NULL before trying to lock it. 2000-11-25 21:39:36 +00:00
Dmitry Timoshkov 2fa0c66c1e Always generate unicode CHAR messages. 2000-11-25 02:09:45 +00:00
Ove Kaaven 9811129dfd Implemented SendNotifyMessage(). 2000-11-25 01:23:50 +00:00
Dmitry Timoshkov 3606dc5584 Added mapping to/from unicode for WM_CHAR, WM_DEADCHAR, WM_SYSCHAR,
WM_SYSDEADCHAR messages.
2000-11-15 23:13:17 +00:00
Dmitry Timoshkov 740bb92b5a Added the ability to see names of the virtual key codes. 2000-11-05 20:07:59 +00:00
Guy L. Albertelli 936c6c4ea4 Added wParam and lParam as parameters in SPY_ExitMessage
Added dump for the STYLECHANG[ING|ED] messages.
Dump structures on exit only if message allows changes.
2000-10-22 23:52:47 +00:00
Stephane Lussier 6bac4f2c15 Before calling the timer window proc, make sure it is valid. 2000-09-29 00:56:05 +00:00
Alexandre Julliard 0ff083bab8 Call WH_GETMESSAGE hook in PeekMessage too (based on a patch by Rob
Farnum).
2000-09-24 19:51:15 +00:00
Andreas Mohr 260f1a1def Spelling, trace fixes. 2000-09-22 20:59:29 +00:00
Andreas Mohr 20cd9356a8 - fixes debugger output
- get rid of wrong comments
- fix comments
- .spec spelling fix
- improve warning message
2000-09-12 23:40:40 +00:00
Andreas Mohr 5e7fa021ef - fix one locking ignorant return 0; in MSG_SendMessageInterThread()
- fix a crash in QUEUE_RemoveSMSG()
- convert some queue WARN() to ERR()
- spaileng fikses
2000-08-29 03:52:46 +00:00
Peter Ganten 553e3c98d1 Threads without active or focus window should not receive keyboard
messages.
2000-08-14 20:53:00 +00:00
Ove Kaaven a5bb5ea2c3 Always get a hardware message from the system queue in PeekMessage,
even if no such wake bits are set, because in a PeekMessage loop,
there's no sleeping, so the necessary wake bits are never set...
2000-07-28 20:17:54 +00:00
John R . Sheets 278b3bcdbc We also have to validate the frame to avoid an infinite loop when the
app doesn't call BeginPaint.
2000-07-15 21:31:01 +00:00
Sheri Steeves bd59d233f4 Added setting of cursor postition to MSG_PostToQueue. 2000-06-15 00:09:04 +00:00
Alexandre Julliard eac0e1837c Removed MSG_WineStartTicks (does not work for multiple address spaces
anyway).
2000-06-03 20:46:53 +00:00
Andreas Mohr 2e011a5243 Lots of spelling fixes that accumulated in my tree again, made several
error msgs more verbose, doc updates.
2000-06-01 23:28:25 +00:00
Alexandre Julliard c5e433a3a6 Moved idle event handling to the server. 2000-05-30 19:48:18 +00:00
Alexandre Julliard 557d8af5d0 Send a normal mouse message code in WM_PARENTNOTIFY, even if the
actual message was a non-client one.
2000-05-23 23:43:02 +00:00
Ulrich Czekalla 2b569f6d69 MSG_ProcessKbdMsg can be called from peek, so only process when remove is set. 2000-04-11 19:37:20 +00:00
Patrik Stridvall 54fe8380a1 Fixed some issues reported by winapi_check. 2000-04-06 20:21:16 +00:00
Patrik Stridvall 2d6457c11a Added/fixed some documentation reported by winapi_check. 2000-03-28 20:22:59 +00:00
Alexandre Julliard 62f824f7cb Avoid calling the *Rect USER functions from inside GDI.
Moved a few USER functions to a more appropriate location.
2000-03-18 22:12:33 +00:00
Ulrich Czekalla 33026a2a6e Send WM_HELP message when F1 is pressed. 2000-02-26 19:13:44 +00:00
Alexandre Julliard 916f975624 Improved the selector get/set functions.
Support ANSI-compatible inline asm (with the help of Patrik Stridvall).
2000-02-26 16:51:13 +00:00
Eric Pouech 2a3b0a1dad Moved hardware related handling to dlls/winmm/joystick driver.
Got rid of joySendMessages() hack (now implementation with a timer).
2000-02-26 13:14:04 +00:00
Alexandre Julliard b849d79104 Moved global atoms to the server (based on the work of Sergei
Turchanov <turchanov@otvprim.ru>).
2000-02-13 13:56:13 +00:00
Huw D M Davies 8be3bf1c0d Actually print return value of message. 2000-01-23 02:19:20 +00:00
Andreas Mohr 98c5cd6f9e "resultp" can be NULL in SendMessageTimeout*(). 2000-01-04 00:23:32 +00:00
Peter Ganten 6619f5a71a Implemented WaitForInputIdle. 2000-01-01 22:38:20 +00:00
Ulrich Weigand 2faf2cf964 Perform 16/32A/32W message mapping for posted messages. 1999-12-10 03:47:13 +00:00
Dimitrie O. Paun dd03cc19fd Make use of the DEFAULT_DEBUG_CHANNEL where appropriate.
Use the default version of FIXME, ERR, WARN, TRACE for the default
channel.
1999-12-08 03:56:23 +00:00
Francis Beaudet 7ed1af3df3 Ensure that the WM_ENTERIDLE message is not sent if the wake-up event
for the MSG_InternalGetMessage() call is a WM_TIMER.
1999-08-15 16:58:03 +00:00
Abey George 9849f1642a Send normal mouse messages to WM_SETCURSOR when non-client mouse
messages occur.
1999-07-27 17:06:55 +00:00
Marcus Meissner e32a317b76 Removed the old, historical and no longer working IPC support. 1999-07-11 14:13:56 +00:00
Gerard Patel 03c13bbdd7 Revert last change in window activation on mouse click. 1999-07-11 13:52:13 +00:00
Per Ångström 53c2028b52 Fixed a problem with apps that override the default behaviour on
WM_MOUSEACTIVATE message (main window was not activated).
1999-07-04 12:46:37 +00:00
Patrik Stridvall 1ed4ecffa8 ANSI C fixes.
Removed warnings.
Made the include files self-sufficient.
Some Solaris fixes.
1999-06-26 14:58:24 +00:00
Alexandre Julliard 0a860a01f9 Merged THDB and TEB structures.
Made SetLastError(), GetCurrentThreadId() and PROCESS_Current() inline.
1999-06-22 11:43:42 +00:00
Patrik Stridvall 4bf335497d Removed direct references to CLASS internals. 1999-06-12 14:52:15 +00:00
Uwe Bonnes 991fc35847 Add back lost treatment of HWND_TOPMOST. 1999-06-05 15:16:57 +00:00
Ulrich Weigand a11de67bf2 Removed EVENT_WaitNetEvent() calls. 1999-05-22 19:01:37 +00:00
Marcus Meissner ddca315388 Replaced all occurences of SYSMETRICS_xx and sysMetrics[SM_xx] by
GetSystemMetrics(SM_xx), removed no longer needed includes of
sysmetrics.h.
1999-05-22 11:33:23 +00:00
Noel Borthwick c90243b861 Fix a deadlock with the system message queue by ensuring the system message
queue is unlocked while the actual message is being processed.
1999-05-14 08:09:13 +00:00
Alexandre Julliard 06c275a643 Converted to the new debugging interface (done with the help of the
script written by Patrik Stridvall).
1999-05-02 14:32:27 +00:00
Juergen Schmied 13f1b1294d - new SendMessageCallbackW
- some fixme's for missing A<->W conversion
1999-05-02 09:17:48 +00:00
Patrik Stridvall b4b9fae671 New debug scheme with explicit debug channels declaration. 1999-04-19 14:56:29 +00:00
Alex Korobka 44a1b59cec Fixes for ignored WVR_[VH]REDRAW flags, made minimization in managed
mode go through window manager, small bugfixes for menu and window
code, extended clipboard driver model to handle formats other than
text.
1999-04-01 12:03:52 +00:00
Ulrich Weigand 831560cd97 Call EVENT_Pending() to flush X11 output queue before blocking in
MsgWaitForMultipleObjects().
Don't call EVENT_WaitNetEvent in MSG_PeekHardwareMsg.
Protect system queue access in hardware_event().
1999-03-28 13:10:54 +00:00
Francois Boisvert 3a3cd9fab1 Fixed some bugs in thread safeness for wnd struct. 1999-03-28 12:42:52 +00:00
Alex Korobka 073e3bc9e5 Fixed occasional loss of SendMessage() return value. 1999-03-28 09:19:31 +00:00
Marcus Meissner 6b9dd2e098 Lots of warning fixed, one missing WINAPI in ddraw.c added. 1999-03-18 17:39:57 +00:00
Ulrich Weigand c68c4b15f0 Inter-thread SendMessage() bugfixes:
- Insert new message to be received at the *end* of the SM_PENDING_LIST.
- Do *not* process received messages in ReplyMessage().
- Clear the QS_SMRESULT flag only immediatedly before waiting.
1999-03-17 15:14:31 +00:00
Stephane Lussier bae5552a14 Implemented SendMessageTimeout() functions. 1999-03-10 16:21:12 +00:00
Ulrich Weigand c08b9c5b90 Bugfix: DirectedYield() only to 16-bit tasks in ReplyMessage(). 1999-03-09 17:38:26 +00:00
Francis Beaudet bfaf063892 Order of send message processing was not respected and the message
stacked last finished after the message stacked first.
1999-02-28 10:02:57 +00:00
Alexandre Julliard a396029270 Large-scale renaming of all Win32 functions and types to use the
standard Windows names.
1999-02-26 11:11:13 +00:00
Stephane Lussier 110cdb1cd8 Fixed some SendMessage bugs. 1999-02-24 09:43:09 +00:00
Francis Beaudet 6a6f6e247c Temporary fix suggested by Ulrich to allow the
MsgWaitForMultipleObject method to be called from 16 bit threads.
1999-02-19 15:34:40 +00:00
Stephane Lussier 2c86dab53a - New implementation of SendMessage, ReceiveMessage, ReplyMessage functions
to support thread-safeness, and nested SendMessage.
- Addition of ReplyMessage32.
1999-02-18 17:34:09 +00:00
Marcus Meissner 317af320cf Optimized include/*.h: (recursively) include all headers needed by
this .h file, but only those. Necessary fixes to a lot of .c files,
started optimizing "windows.h" away from some of them. Moved
GetCurrentTask prototype to wine/winbase16.h.
1999-02-17 13:51:06 +00:00
Stephane Lussier 1242311e67 Fix some thread-safeness problem when accessing the system message
queue.
1999-02-13 08:54:21 +00:00
Stephane Lussier b3a99de50d -Fixed MESSAGE functions that were thunking down to 16 bits implementation.
So PeekMessage32, GetMessage32, PostMessage32, PostThreadMessage are fixed
with this patch. Unicode version of those functions is currently only
calling the ASCII version.
-Fixed queue signaling using a new EVENT object in the queue for 32 bits
thread. MsgWaitForMultipleObject has been fixed and is now blocking on the
right EVENT.
1999-02-09 15:35:12 +00:00
Noel Borthwick b427856b45 Added management and allocation of the PERQUEUEDATA structure. 1999-02-05 10:37:53 +00:00
Stephane Lussier 1c4786fedf - Made the message queue access to be thread safe. (Using two new
functions to access the message queue, QUEUE_Lock(), QUEUE_Unlock()
  instead of GlobalLock16()).
- Fixed QUEUE_DumpQueue (used by "info queue <handle>" with the
  wine-debugger).
1999-01-28 10:54:11 +00:00
Stephane Lussier a4c8445ba3 - Changing MESSAGEQUEUE structure according to Ulrich proposition.
- One message queue for every thread needing it.
- Messages in the message queue are now stored in a linked list
- Messages are allocated in the system heap.
- Messages in the message queue are 32 bits (MSG32).
- All read/write operations regarding messages in the message queue are
  thread safe.
1999-01-26 09:30:05 +00:00
Marcus Meissner 1da0242f58 Missing WINAPI. 1999-01-24 18:54:56 +00:00
Andreas Mohr 94e4485bff Implemented WIN16_CallMsgFilter32, WIN16_DispatchMessage32,
DrawAnimatedRects16 (stub), FormatMessage16, WIN16_GetMessage32,
WIN16_PeekMessage32 and WIN16_TranslateMessage32.
1999-01-23 14:15:17 +00:00
Alexandre Julliard dbf2bf00bc Moved MsgWaitForMultipleObject implementation to USER routines, using
a normal Win32 event.
1999-01-01 17:05:53 +00:00
Patrik Stridvall 151170c437 Moved more things to the X11 driver. 1998-12-26 12:00:43 +00:00
Ulrich Weigand 89b93bf26b Implemented stub for InitThreadInput.
Use GetThreadQueue/GetFastQueue instead of GetTaskQueue.
1998-12-24 15:15:00 +00:00
Ulrich Weigand ae3fbab8e4 Bugfix: always clear QS_... from *both* changeBits and waitBits.
Bugfix: queue->hSendingTask is *queue* handle, not task handle.
1998-12-18 16:53:20 +00:00
Paul Quinn 1beaae5f9e Lots of new defines and stubs. 1998-12-15 15:38:36 +00:00
Alexandre Julliard 0c0e3bebb8 Authors: Francis Beaudet <francis@macadamian.com>, Sylvain St-Germain <sylvain@macadamian.com>, Thuy Nguyen <thuy@macadamian.com>
Lots of new stubs.
1998-12-10 15:49:22 +00:00
Patrik Stridvall e35d6366ef Moved more code to the X11 driver. 1998-12-07 09:13:40 +00:00
Alexandre Julliard 737fa07db7 Small atom fixes. 1998-11-15 17:29:15 +00:00
Ulrich Weigand a11ce32ad4 Adapted to new input event handling. 1998-11-08 12:27:26 +00:00
Jesper Skov 5c3e457b16 egcs 'ambiguous else' warnings fixes. 1998-11-01 19:27:22 +00:00