Commit Graph

932 Commits

Author SHA1 Message Date
Alexandre Julliard 6b4c02e57f Moved remaining messaging definitions to user_private.h and removed
message.h.
2005-04-27 10:23:24 +00:00
Alexandre Julliard 86be9f20da Removed the MESSAGEQUEUE structure, and store the corresponding
information directly in the TEB, in the Win32ClientInfo field.
2005-04-27 08:18:20 +00:00
Alexandre Julliard b6f4eccdbd Moved some messaging and input functions to message.c and input.c
respectively.
2005-04-26 08:18:47 +00:00
Ulrich Czekalla a800dfe52e SetParent should not remove menu from non-child windows. 2005-04-26 08:16:17 +00:00
Huw Davies 1fbea59ff2 The ansi version of CB_ADDSTRING shouldn't overwrite the string if
converting case.
2005-04-26 08:15:53 +00:00
Alexandre Julliard 40b7a50f8e Moved the ScrollWindow and ScrollDC functions to dlls/user/painting.c,
and removed windows/scroll.c.
2005-04-25 16:13:17 +00:00
Alexandre Julliard 172e731c0b Moved most files from the windows directory to dlls/user. 2005-04-25 11:33:34 +00:00
Alexandre Julliard fc2bd2324e Handle posted internal messages directly in PeekMessageW to avoid
having to return them to the application.
Call NtYieldExecution for nicer behavior when PM_NOYIELD is not
specified.
2005-04-20 18:53:53 +00:00
Francois Gouget 3ef8c51c8a Tweak the API documentation to silence winapi_check warnings. 2005-04-20 15:18:42 +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
Francois Gouget 3b36eee083 Add trailing '\n's to ok() calls. 2005-04-19 09:48:44 +00:00
Jose Alonso 0e21f376da Change the order of DispatchMessage and message removal. 2005-04-19 09:47:02 +00:00
Peter Berg Larsen 102121993a Eliminate strncpy. Correct a \0 assingment to the modstr variable. 2005-04-18 15:37:15 +00:00
Peter Berg Larsen 6e3bcb5a54 Replace strncpy with memcpy or lstrcpyn. 2005-04-18 10:30:55 +00:00
Robert Shearman 95ebdc63c6 Add a test for a menu problem I found. 2005-04-14 13:57:27 +00:00
Robert Shearman cec9e23cc3 Recalculate the menu on calling ModifyMenu so that the menu items are
shown at the correct width.
2005-04-14 13:56:29 +00:00
Alexandre Julliard eea415300b Moved handling of the 55AA pattern brush to syscolor.c so that it can
be made a system object (found by Rein Klazes).
2005-04-13 16:13:45 +00:00
Rein Klazes 8db7b53359 In ScrollWindowEx, if the window already has an update region then add
this to hrgnUpdate. With a conformance test.
2005-04-11 12:47:01 +00:00
Rein Klazes 7308f16b32 Fix some incorrect uses of the ok macro where the result depends on
the evaluation order of its arguments.
2005-03-31 19:07:08 +00:00
Rein Klazes 7c342b4ce3 If ScrollWindowEx do not use the DCX_USESTYLE to get a DC. Instead
calculate DCX_CLIPSIBLINGS, DCX_PARENTCLIP and DCX_CLIPCHILDREN. The
DCX_CLIPCHILDREN is not used when ScrollWindowEx is called with a
SW_SCROLLCHILDREN flag. With a couple of regression tests.
2005-03-31 15:30:25 +00:00
Paul Vriens b6ab64e44d Use textlen instead of len.
Use textheight as the return value of DrawTextA.
2005-03-31 10:07:26 +00:00
Dmitry Timoshkov 9640918917 - Make GetSystemMenu respect CS_NOCLOSE.
- EnableMenuItem should not generate WM_WINDOWPOSCHANGING message.
- Make nonclient code check for presence of SC_CLOSE, not CS_NOCLOSE
  window class style.
- Add a test case.
2005-03-30 18:59:27 +00:00
Alexandre Julliard eea706948a The update region passed in WM_NCPAINT and the clipping region passed
to GetDCEx have to be in screen coordinates.
2005-03-30 17:11:46 +00:00
Alexandre Julliard d99df2b757 Only reset the clip region in GetDC() if a new region is specified.
Don't release the clip region for window DCs in ReleaseDC(), except
when called from EndPaint().
Added a bunch of tests.
2005-03-30 10:28:58 +00:00
Uwe Bonnes af305c7462 Zero out return string in GetMenuStringA/W. 2005-03-30 10:24:07 +00:00
Peter Berg Larsen a667d536b9 Janitorial: Get rid of strncpy/strncpyW. 2005-03-29 19:49:21 +00:00
Alexandre Julliard 026a4b0d0d Only restore the DC attributes on the next GetDC, and add support for
the DCX_NORESETATTRS flag.
Get rid of the DCE flags, simplify the code a bit.
Add some test cases.
2005-03-29 18:59:02 +00:00
Alexandre Julliard 89b0f3ae6e Moved 16-bit string functions to user16.c and kbd16.c. 2005-03-29 13:15:44 +00:00
Alexandre Julliard d54db1911e Moved rectangle functions to uitools.c and removed rect.c. 2005-03-29 13:12:56 +00:00
Rein Klazes a4ae750a87 ScrollWindow should call ScrollWindowEx with the SW_ERASE flag
set. With conformance test.
2005-03-29 13:06:32 +00:00
Alexandre Julliard 6de70abdd4 Moved 16-bit rectangle functions to user16.c. 2005-03-29 11:35:24 +00:00
Rein Klazes 607bb11a86 - GetScrollRange should return an empty range, both upper and lower
limit zero, if the window has no scrollbars (msdn).
- GetScrollInfo's return value is TRUE is nBar is SB_CTL or if
  anything is filled in the SCROLLINFO structure, otherwise the return
  value is FALSE.
2005-03-29 11:29:50 +00:00
Ulrich Czekalla e64b875311 Child windows with the WS_POPUP style are allowed to have a menu. 2005-03-25 20:47:32 +00:00
Rein Klazes a807c5efce ScrollDC and X11DRV_SCROLLDC should scroll only pixels coming from
within the visible region, clipped to the clipping region if that
exists. Add the destination of pixels coming from the outside of this
region to the update region. With tests that depend on this.
2005-03-25 17:11:04 +00:00
Alexandre Julliard 2fb7c8754a Moved DCE support to the X11 driver. 2005-03-25 16:47:04 +00:00
Ulrich Czekalla 852fc5f161 Don't map point to parent's client window because the rest of the code
assumes screen coordinates.
2005-03-25 16:38:15 +00:00
Alexandre Julliard 4d32a475a8 Replace the link_window request by a set_parent request since that is
all link_window is used for at this point.
Get rid of the WIN_LinkWindow/UnlinkWindow functions.
2005-03-25 10:38:56 +00:00
Jakob Eriksson 9ed61de9a2 Get rid of HeapAlloc casts. 2005-03-24 21:01:35 +00:00
Alexandre Julliard 23d9ac25b2 Avoid calling WIN_ListChildren from the graphics drivers. 2005-03-24 20:41:27 +00:00
Kevin Koltzau f4767f1424 Added full support for xbuttons (side mouse buttons). 2005-03-24 19:15:41 +00:00
Alexandre Julliard 039603c77d Don't maintain a client-side WND structure for the desktop window.
Made WIN_GetPtr return WND_DESKTOP in that case.
2005-03-24 15:18:50 +00:00
Alexandre Julliard 04881fae7a Get rid of the window lock suspend mechanism. 2005-03-23 13:18:51 +00:00
Francois Gouget 93416cdaf7 Assorted spelling fixes. 2005-03-23 13:15:18 +00:00
Alexandre Julliard 3b73e1277f Get rid of the remaining WIN_FindWndPtr calls. 2005-03-23 12:00:51 +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
Robert Shearman caec6026e7 - Window styles passed to CreateWindowEx must the same as passed in
CREATESTRUCT for WM_CREATE/WM_NCCREATE.
- Fix cases where WS_EX_WINDOWEDGE style is applied.
- Tests for the above.
2005-03-23 10:26:15 +00:00
Alexandre Julliard 564915eadc Simplify hardware message processing by merging the "raw" and "cooked"
processing into a single function.
2005-03-22 21:48:40 +00:00
Dmitry Timoshkov e842676194 If an MDI child becomes active restore previously maximized MDI
child.
2005-03-22 16:45:31 +00:00
C. Scott Ananian aa6367400a EDIT_EM_SetSel: Old/new selection range ordering code would break when
old_end < start < end < old_start.
Reset EF_UPDATE flag after we've sent the update.
2005-03-22 16:40:36 +00:00
Dmitry Timoshkov 12bbaa7baf Actually print dwExStyle in case of a mismatch. 2005-03-16 11:30:51 +00:00
Dmitry Timoshkov 72a4df9459 Do not release capture before sending WM_NCDESTROY message, update the
tests to reflect that.
2005-03-14 17:15:33 +00:00
Peter Berg Larsen 25a6663243 Assorted memleak fixes. Found on Michael Stefaniuc smatch list. 2005-03-14 17:13:44 +00:00
Dmitry Timoshkov a2e24748b1 Fix some msg.c and win.c failures running on NT4 and XP. 2005-03-14 10:05:50 +00:00
Alexandre Julliard b9a9de6eb9 Clear the internal paint flag in the server before returning a
WM_PAINT message to avoid an extra server round-trip.
2005-03-10 17:19:33 +00:00
Marcus Meissner af54602c7a Use 512 byte buffer for buffer of LB_GETTEXT and CB_GETLBTEXT.
Added testcase with > 256 byte string in listbox.
2005-03-10 17:17:22 +00:00
Phil Krylov fa3f66287c Implemented GetScrollBarInfo() function and SBM_GETSCROLLBARINFO
message.
2005-03-10 17:15:32 +00:00
Alexandre Julliard 85c81bf419 Merge the rest of the messaging code into dlls/user/message.c and get
rid of windows/message.c.
2005-03-10 15:47:53 +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 aef19abc82 Moved SendInput and related functions to the USER driver to avoid a
number of dll separation hacks.
2005-03-09 16:45:23 +00:00
Maxime Bellengé cbd3a53d4b Implemented MIIM_BITMAP state.
Handle MNS_CHECKORBMP style.
2005-03-09 12:39:01 +00:00
Alexandre Julliard b58c170c4d Make the SwapMouseButton function and the SPI_SETMOUSEBUTTONSWAP
parameter work on the same flag.
2005-03-09 11:51:31 +00:00
Alexandre Julliard cdb2bfe884 Process only pending expose events during RDW_UPDATENOW, not all the
other X events.
2005-03-08 19:26:57 +00:00
Alexandre Julliard 7b738b7f8c Make sure to always pass valid QS_* flags to
MsgWaitForMultipleObjects.
2005-03-08 17:00:38 +00:00
Dimitrie O. Paun c02dd0a902 Add support for .exe's with exported functions. 2005-03-08 16:55:26 +00:00
Alexandre Julliard 9bcdd7ca19 Authors: Justin Chevrier <jchevrier@nexicom.net>, Paul Vriens <Paul.Vriens@xs4all.nl>
- Consolidate error message handling.
- Add error checking to all initial SystemParametersInfoA calls in
  each parameter test to make sure that if a given parameter isn't
  supported or has failed in some other way that we return and don't
  continue on with the test.
- SetLastError before calling test_error_msg.
- SPI_{GET,SET}ICONTITLEWRAP is supported on Win98.
2005-03-07 19:23:32 +00:00
Alexandre Julliard 97d6e7fd3d Moved TranslateMessage and DispatchMessage to dlls/user/message.c.
Added support for posting internal messages.
Added support for driver-specific internal messages.
2005-03-07 17:19:24 +00:00
Alexandre Julliard 32e4ca0ec1 Set SM_DBCSENABLED according to the current locale instead of
hardcoding it to 0 (found by Mike McCormack).
2005-03-07 17:16:26 +00:00
Dmitry Timoshkov 16ba0255e7 - Call SetCursorPos for an injected mouse message only if we really
need to move mouse pointer.
- Add a test case for mouse click handling.
2005-03-07 17:13:07 +00:00
Alexandre Julliard d9e3634263 Retry sending a WM_PAINT in update_now after we sent an erase
message.
2005-03-07 11:06:30 +00:00
Ulrich Czekalla 687679cd90 Print out error message if we fail to remove message from queue. 2005-03-07 10:58:00 +00:00
Paul Vriens ae5e9edef7 LastError is not set on failure for *MOUSEHOVER* on Win98. 2005-03-05 10:47:30 +00:00
Justin Chevrier dd170db028 Expand conformance registry entry test to handle registry entries that
differ both in Key and Value from the norm.
Take advantage of expanded registry test to allow
SPI_{GET,SET}SCREENREADER and SPI_{GET,SET}KEYBOARDPREFERENCE to pass
on Win9x.
2005-03-04 12:31:09 +00:00
Alexandre Julliard 85d14279a5 Support sending WM_PAINT across processes when it doesn't contain an
HDC.
2005-03-04 10:50:22 +00:00
Paul Vriens 726df300ad Better way of handling non-existent SystemParametersInfoW.
SetLastError if GetLastError is checked after a call.
2005-03-04 10:46:22 +00:00
Francois Gouget fbb3343547 Assorted spelling fixes. 2005-03-02 13:53:50 +00:00
Dmitry Timoshkov d515640b6a DestroyMenu should not destroy system menu popup owner. 2005-03-02 12:16:44 +00:00
Dmitry Timoshkov 8f0984c2a3 Protect SetParent from creating circular window dependencies.
Add a test case.
2005-03-02 10:11:06 +00:00
Justin Chevrier 74b36359f1 - Created SPI_{GET,SET}KEYBOARDPREF and SPI_{GET,SET}SCREENREADER unit
tests.
- Removed a trace that shouldn't have been there.
- Add return checking to SPI_{GET,SET}WHEELSCROLLLINES and
  SPI_{GET,SET}MENUSHOWDELAY unit tests so they no longer run on
  Windows 95 where they aren't supported.
- Changed minimum hovertime in SPI_{GET,SET}MOUSEHOVERTIME to 10 as
  Windows XP defaults to 10 any value below that.
2005-03-01 11:46:11 +00:00
Lauri Tulmin 541e14f7ef Make sure that last line is at the bottom of the edit control. 2005-02-25 16:51:13 +00:00
Lauri Tulmin 7cb7c6b1de Implemented !ES_AUTO[HV]SCROLL. 2005-02-25 13:59:49 +00:00
Alexandre Julliard 0e0f62f2fa Repaint the non-client area to work around broken WM_PAINT handlers
also when doing a synchronous update with RDW_UPDATENOW.
2005-02-24 19:42:08 +00:00
Vitaly Lipatov f7c99e3a6a - Fix scrollbar show/update conditions in SCROLL_SetScrollInfo: we DO
NOT show scroll bar if only page parameter changing when scrollbar
  is disabled.
- Removed bChangeParams from SCROLL_SetScrollInfo as unneeded flag.
2005-02-24 19:38:56 +00:00
Alexandre Julliard 1aad2a50ce Authors: Mike McCormack <mike@codeweavers.com>, Dmitry Timoshkov <dmitry@codeweavers.com>
Release capture before sending WM_NCDESTROY message, do not send
WM_CAPTURECHANGED in that case. Add a test case for that behaviour.
2005-02-24 17:03:51 +00:00
Dmitry Timoshkov d4fd584082 GetWindowRect and GetClientRect do not change RECT contents if the
passed window handle is invalid.
2005-02-24 17:03:01 +00:00
Lauri Tulmin c978697882 Controls with ES_RIGHT or ES_CENTER shouldn't have ES_AUTOHSCROLL. 2005-02-24 10:04:40 +00:00
Dmitry Timoshkov 16875ac3b2 - Pass original wParam to CallNextHookEx.
- Avoid playing games with focus in a newly created thread, that leads
  to all kinds of misbehaviours and failures in window activation
  under Windows.
2005-02-23 12:44:06 +00:00
Alexandre Julliard 548c973457 Allow the client rectangle to be of arbitrary size and dimensions,
regardless of the window rectangle.
2005-02-22 19:41:43 +00:00
Alexandre Julliard 9b0b45563b Cosmetic fixes. 2005-02-22 16:02:58 +00:00
Rein Klazes dfa4354134 DefWindowProc's WM_NCCALC handler must not subtract space for
scrollbars if there is not enough space for it anyway. With tests to
confirm the behavior.
2005-02-22 15:46:36 +00:00
Stefan Leichter 2d133baa3b Make user32_crosstest.exe loadable on NT 3.51. 2005-02-22 15:43:54 +00:00
Alexandre Julliard fa5c982698 DispatchMessage needs to repaint the non-client area if the WM_PAINT
handler didn't do it.
2005-02-22 14:58:52 +00:00
Jason Edmeades e4c2d6ba8c Make RegisterClassExA check that reserved bytes is a valid value.
Tests to confirm this behaviour.
2005-02-22 14:56:28 +00:00
Justin Chevrier dd99a50f37 Point KEYBOARDPREF and SCREENREADER to registry keys and values that
match native.
2005-02-22 14:54:47 +00:00
Justin Chevrier 564aceddca - Implement SPI_{GET,SET}POWEROFFACTIVE and SPI_SETLOWPOWERACTIVE.
- Corrected SPI_GETLOWPOWERACTIVE to use an index (instead of its SPI
  value) to avoid an out of bounds condition.
- Created unit tests for SPI_{GET,SET}POWEROFFACTIVE and
  SPI_{GET,SET)SETLOWPOWERACTIVE.
2005-02-21 20:40:44 +00:00
Lauri Tulmin 914c138e24 Horizontal scrollbar is hidden when edit control is emptied. 2005-02-21 20:39:52 +00:00
Marcelo Duarte 5cb9507ec1 Use "MS Shell Dlg" everywhere except for Japanese. 2005-02-21 18:38:36 +00:00
Dmitry Timoshkov 600086372a Take Shift key state into account while processing an accelerator.
Add a couple of test cases.
2005-02-21 18:33:27 +00:00
Maxime Bellengé 64a429671a Reverse the order for deleting the items in resetcontent to correctly
empty a comboboxex.
2005-02-21 18:31:02 +00:00
Dmitry Timoshkov 53ccd49c58 - Always unlink children before sending WM_NCDESTROY message.
- Fix order of WM_DESTROY messages for the children's recursion.
- DestroyWindow should hide only visible windows.
- Add a test case for the above fixes.
2005-02-18 20:01:41 +00:00
Vitaly Lipatov 926a86323d Rename SCROLL_GetScrollBarInfo to SCROLL_GetInternalInfo and make
allocation of a new info structure optional.
Add some descriptions.
2005-02-17 12:03:33 +00:00