Commit Graph

2744 Commits

Author SHA1 Message Date
Alexandre Julliard 078dad1ad1 user32: Get rid of the Wine-specific OCR_DRAGOBJECT.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-07-07 09:20:12 +02:00
Alexandre Julliard d4654e5799 user32: Scale cursor sizes with the screen DPI.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-07-05 20:20:05 +02:00
Huw Davies 022e4b8243 user32: End the tracking on a system menu double-click.
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-06-05 19:49:40 +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
Huw Davies e60bc27dd2 user32: A button-up in the menu-bar, but not on an item, should stop the tracking.
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-06-05 19:49:22 +02:00
Huw Davies 580915040e user32: A second button-up on the system menu should end the tracking.
This isn't quite how Windows behaves.  Windows doesn't follow the
tracking between the menu-bar and the system menu, while Wine does.
Since the system menu of top-level windows is likely to be hidden by
Wine's graphics driver, this seems like useful behaviour to keep and
thus this patch makes things behave sensibly.

Even without Wine's special tracking behaviour, this patch is an
improvement.  The tracking state has no reason to be stored in the
menu structure.

Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-06-05 19:49:16 +02:00
Huw Davies 77026e244c user32: Allow button-down events on the system menu to continue tracking.
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-06-05 19:48:55 +02:00
Zebediah Figura 84a2459d56 user32/tests: Add tests for minimizing MDI windows.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-06-02 10:33:48 +02:00
Józef Kucia ae9d5ce5f7 user32: Fix memory leak in WinHelpA().
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-05-30 21:49:49 +02:00
Alexandre Julliard 719e28bd2c server: Don't increment the clipboard sequence number for delayed rendering or synthesized formats.
Based on a patch by Piotr Caban.

Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-05-24 13:03:39 +02:00
Austin English 3b9e49b4d8 user32: Add LogicalToPhysicalPoint/PhysicalToLogicalPoint stubs.
Signed-off-by: Austin English <austinenglish@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-05-19 20:26:34 +02:00
Austin English 2e9ca4626e user32: Add GetPhysicalCursorPos/SetPhysicalCursorPos stubs.
Signed-off-by: Austin English <austinenglish@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-05-17 21:57:13 +02:00
Piotr Caban 66c7b37a98 user32: Test clipboard sequence number for delayed rendered data.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-05-16 19:02:19 +02:00
Piotr Caban 1e9d40e601 user32: Test clipboard sequence number for synthesized data.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-05-16 19:02:17 +02:00
Piotr Caban 61d78205d2 user32: Don't load GetClipboardSequenceNumber dynamically in tests.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-05-16 19:02:15 +02:00
Alexandre Julliard 0647abc507 user32/tests: Test resulting size of strings with trailing nulls.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-05-10 16:55:45 -05:00
Nikolay Sivov 393ec970c8 user32: Added a helper to get screen dc.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-05-07 16:19:21 -05:00
Nikolay Sivov 9ee82b9465 user32/msgbox: Fix static control id.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-05-07 16:19:18 -05:00
Huw Davies ee3f060262 user32: Change IsProcessDPIAware() to always return TRUE.
This mimics Windows' behaviour when the 'Use Windows XP style DPI
scaling' box is ticked.  Since we don't have a DPI scaler, this makes
most sense.

Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-05-02 17:51:34 +02:00
Huw Davies 3d47809aca user32: Fix icon spacing minimium values.
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-05-02 17:51:32 +02:00
Huw Davies fb118b222a user32: Fix the calculation of system metrics icon sizes.
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-05-02 17:51:31 +02:00
Huw Davies 3845b0bb73 user32/tests: Try to read the dpi from the user key first.
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-04-27 22:22:51 +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
Austin English d8db5e04bd user32: Add GetAutoRotationState/GetDisplayAutoRotationPreferences stubs.
Signed-off-by: Austin English <austinenglish@gmail.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-04-25 09:42:51 +02:00
Huw Davies e0843d234e user32: Fix a potential buffer overflow.
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-04-21 16:10:04 +02:00
Nikolay Sivov 3c7fee39d3 user32: Partially protect WM_SETTEXT handlers from invalid input.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-04-20 18:58:46 +02:00
Piotr Caban f7402accc4 user32/tests: Add layered window child painting test when WS_CLIPCHILDREN flag is specified.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-04-19 20:02:55 +02:00
Piotr Caban 34b108dd1d user32: Switch to normal window drawing on SetLayeredWindowAttributes call.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-04-19 20:02:55 +02:00
Michael Stefaniuc 79147c8658 user32: Use SetRectEmpty() instead of memset().
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-04-19 09:11:46 +02:00
Huw Davies e352b29d12 user32/tests: Fix tests for minimium icon spacing when not in DPI scaling mode.
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-04-11 16:00:39 +02:00
Huw Davies bfcf92f148 user32/tests: Fix a few failures in DPI scaling mode.
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-04-11 16:00:37 +02:00
Huw Davies 0ce293a0d8 user32/tests: Correctly restore the caption sizes when run in DPI scaling mode.
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-04-11 16:00:35 +02:00
Huw Davies 962d5e6469 user32: Don't bother drawing an item if it's outside the items_rect.
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-31 14:03:50 +02:00
Huw Davies 21c5545a97 user32: Simplify the use of rectangles.
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-31 14:03:44 +02:00
Huw Davies 66d3c80de0 user32: Pass a POPUPMENU ptr to MENU_DrawMenuItem().
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-31 14:03:32 +02:00
Huw Davies e42bcbdea3 user32: Remove the height parameter from MENU_DrawMenuItem().
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-31 14:03:23 +02:00
Huw Davies 3c0ddd5971 user32: Limit the menu height to that of the work area.
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-30 22:06:33 +02:00
Huw Davies 1d4992282d user32: Disable scrolling for multi-column menus.
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-30 22:06:33 +02:00
Huw Davies d4544f7fed user32: Don't finish tracking when the menu borders or scroll arrows are clicked.
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-30 22:06:33 +02:00
Huw Davies 6abb7db763 user32: Scale the scroll arrows with the menu's font size.
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-29 17:17:15 +02:00
Huw Davies bd785a5ac0 user32: Don't fill the background when drawing the scroll arrows.
This is done, in the correct colour, in MENU_DrawPopupMenu().

Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-29 17:17:15 +02:00
Huw Davies 79bdeceab4 user32: Clip painting to the items_rect.
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-29 17:17:15 +02:00
Huw Davies 1bdd12f493 user32: Store the item rects as relative to the items_rect.
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-29 17:17:14 +02:00
Zebediah Figura 0ac74d180a user32: Always send WM_CANCELMODE when disabling a window.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-29 10:20:54 +02:00
Zebediah Figura b4fea4f2f0 user32: Don't call ReleaseCapture() in EnableWindow().
Killing the capture is already handled in DefWindowProc().

Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-29 10:11:55 +02:00
Zebediah Figura 3d133becce user32/tests: Add tests for EnableWindow().
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-29 10:09:46 +02:00
Huw Davies bdcaae4b78 user32: Add an items rect to the header and use it to fix scrolling down.
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-28 22:13:14 +02:00
Huw Davies d4d0247f4e user32: Simplify GetMenuItemRect().
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-28 22:12:45 +02:00
Huw Davies c72a7219fd user32: Add a helper to retrieve the height of the scroll arrows.
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-28 22:12:16 +02:00
Huw Davies a8344b9616 user32: Rationalize the popup menu margin calculation.
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-28 22:11:33 +02:00
Huw Davies 0a36078ee1 user32: Explicitly set last error to ERROR_SUCCESS.
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-27 16:54:53 +02:00
Piotr Caban a878f0a02a user32: Don't call IsChild with NULL window in EnableWindow.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-21 20:52:38 +01:00
Alexandre Julliard 413e27eff1 user32/tests: Re-enable a test about window positions.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-13 19:34:51 +01:00
André Hentschel b05c000c91 user32: Fix some spec file entries.
Signed-off-by: André Hentschel <nerv@dawncrow.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-02-27 10:16:24 +01:00
Alex Henrie 0a2f9f54eb user32: Include space for ampersands when determining MessageBox size.
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-02-24 09:44:31 +01:00
Alex Henrie 2799be1804 user32: Translate WM_(NC)XBUTTONUP to WM_APPCOMMAND in DefWindowProc.
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-02-23 20:14:15 +01:00
Fabian Maurer d594ba3322 user32: Only send position-change messages when needed.
Signed-off-by: Fabian Maurer <dark.shadow4@web.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-02-20 10:43:15 +01:00
Fabian Maurer 997d4ef44f user32: Send WM_NCPAINT and WM_ERASEBKGND when window is shown.
Signed-off-by: Fabian Maurer <dark.shadow4@web.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-02-20 10:42:37 +01:00
Francois Gouget a3f36a045f user32/tests: Occasional spelling fixes in comments.
Signed-off-by: Francois Gouget <fgouget@free.fr>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-02-20 10:32:09 +01:00
Rodrigo Rivas Costa fbd9ed0dee user32: Fix error handling in EndDeferWindowPos.
Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-02-17 20:53:53 +01:00
Sebastian Lackner 6f62f9614d user32/tests: Add test for EndDeferWindowPos with destroyed window.
Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-02-17 13:54:00 +01:00
Fabian Maurer 43b0dce203 user32/tests: Add tests for disabled buttons receiving WM_LBUTTONUP.
Signed-off-by: Fabian Maurer <dark.shadow4@web.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-02-16 21:39:28 +01:00
Fabian Maurer eba9294d9e user32/tests: Add WM_NCPAINT tests for windows crossing screen or maximized.
Signed-off-by: Fabian Maurer <dark.shadow4@web.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-02-13 21:45:27 +01:00
Fabian Maurer 372e3e223a user32/tests: Add tests for windows when first shown if they have children.
Signed-off-by: Fabian Maurer <dark.shadow4@web.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-02-13 21:45:27 +01:00
Fabian Maurer ea6dbfcd07 user32/tests: Add tests for windows when first shown with SetWindowPos.
Signed-off-by: Fabian Maurer <dark.shadow4@web.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-02-13 21:45:27 +01:00
Fabian Maurer 46b344fc2f user32/tests: Add tests for windows when first shown with WS_VISIBLE or RedrawWindow.
Signed-off-by: Fabian Maurer <dark.shadow4@web.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-02-13 21:45:26 +01:00
Jacek Caban af4294a9af user32: Allow creating windows using null driver for invisible winstations.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-02-09 16:07:41 +01:00
Dmitry Timoshkov d639d3bba0 user32: Fix groupbox rectangle calculation in the button's WM_SETTEXT handler.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-02-07 17:24:36 +01:00
Dmitry Timoshkov e45b80088b user32: BUTTON_CalcLabelRect should use the button font.
Otherwise WM_SETTEXT handler gets wrong rectangle to erase an old text.

Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-02-07 17:24:33 +01:00
Nikolay Sivov a423f14a56 user32/tests: Test to show that original font is not selected back after painting buttons.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-02-07 17:24:31 +01:00
Huw Davies 01112061c2 user32/tests: Restore the mouse cursor to its original position.
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-02-07 14:45:58 +01:00
Fabian Maurer 115bbf424c user32: Don't send WM_CHAR when a menu gets VK_ESCAPE and add tests.
Signed-off-by: Fabian Maurer <dark.shadow4@web.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-02-03 19:05:09 +01:00
Huw Davies cdf3872f59 user32/tests: Restore the mouse cursor to its original position.
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-02-02 19:50:34 +01:00
Huw Davies e883d0ec60 user32: Hardcode the GetWindowLong values for the desktop window to avoid a server round-trip.
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-02-02 19:50:34 +01:00
Anton Romanov cb4545eccd user32: Add OCR_RDR* cursors.
Signed-off-by: Anton Romanov <theli.ua@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-01-31 11:01:40 +01:00
André Hentschel 76793a8e4b user32: Fix DrawMenuBarTemp spec file entry.
Signed-off-by: André Hentschel <nerv@dawncrow.de>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-01-27 16:31:42 +01:00
Huw Davies a60144ee74 user32: Disable cached DCs once they are released.
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-01-26 10:46:22 +01:00
Huw Davies e641e6e49b user32/tests: Windows 10 no longer supports setting bpp to zero.
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-01-18 10:51:21 +01:00
Nikolay Sivov 904c695de8 user32/tests: Some tests for GetWindowText() when non terminated string is returned.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-01-11 16:04:07 +01:00
Francois Gouget 0ab75f2e5a user32/tests: A spelling fix in a comment.
Signed-off-by: Francois Gouget <fgouget@free.fr>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-01-09 12:10:32 +01:00
Nikolay Sivov d437d61c57 user32/tests: Added some tests for FindWindow().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-01-02 11:24:22 +01:00
Hans Leidekker ef743e41ee user32/tests: Disable automatic shell restart during SetShellWindow tests.
This test kills the desktop shell process so it can set a different shell window.
Modern Windows will automatically restart the desktop shell when it dies, and if
that happens soon enough it will interfere with the remaining tests.

Disabling automatic restart requires admin rights.

Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-12-20 13:02:49 +01:00
Huw Davies 78983d9fcd user32/tests: Add a test to show that released cache DCs are disabled.
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-12-09 15:55:03 +01:00
Lauri Kenttä 26be29138f user32/tests: Add tests for LockWindowUpdate.
Signed-off-by: Lauri Kenttä <lauri.kentta@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-12-09 11:43:50 +01:00
Alex Henrie 68ca28a8bc user32: Tell MENU_SuspendPopup which message to remove.
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-12-06 15:45:54 +01:00
Lauri Kenttä 1d3b9448f6 user32: Fix caret disappearing after scrolling.
The caret needs to be moved along with scrolling even if it's
outside the visible area. Otherwise, when the caret is scrolled
out from the view, the position won't get updated anymore and
the caret will never scroll back again.

The idea is based on the patch by André Hentschel.

Signed-off-by: Lauri Kenttä <lauri.kentta@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-12-02 21:10:12 +01:00
Andrew Eikum d1064669f4 user32: Support IDC_PEN.
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-12-01 13:06:05 +01:00
Huw Davies fab7a584c1 user32/tests: FlashWindow(Ex) sets ERROR_INVALID_WINDOW_HANDLE on updated Windows 7.
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-11-30 16:28:06 +01:00
Huw Davies 400e0af66c user32/tests: Mark built-in wndproc auto-detection behaviour as broken on Windows 8 and 10.
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-11-24 14:31:32 +01:00
Erich E. Hoover f9b878101e user32/tests: Fix an inconsistent test case in clearing the clipboard.
Depending on our clipboard polling we can get an additional clipboard
update during the clipboard clear test.  This change forces a consistent
state when starting the test, which stops the additional window message
from possibly occurring.

Signed-off-by: Erich E. Hoover <erich.e.hoover@wine-staging.com>
Signed-off-by: Vincent Povirk <vincent@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-11-15 13:53:29 -06:00
Huw Davies e574350b62 user32/tests: Don't perform character lookup ToUnicode() tests on non-US keyboards.
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-11-14 11:07:07 -06:00
Andrey Gusev 535f1de80d user32: Add support for WS_EX_RIGHT style.
Signed-off-by: Andrey Gusev <andrey.goosev@gmail.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-10-20 07:32:12 -07:00
Roman Pišl 9de8ea7564 user32: Fix buffer overflow in EDIT_EM_ReplaceSel().
After EN_MAXTEXT notification, available space may be larger than
length of the string. This must be checked and strl must not be
set to a value larger than the actual length of the string.

Signed-off-by: Roman Pišl <rpisl@seznam.cz>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-10-19 09:50:12 -07:00
Sebastian Lackner cf0f7fcfd5 user32/tests: Fix test failures on 64-bit testbot VMs.
Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-10-11 18:38:13 +02:00
Sebastian Lackner df3c2a4a41 user32: Also release GMEM_FIXED data in free_cached_data.
Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-10-01 15:14:10 +02:00
Alexandre Julliard ab44b31287 user32: Fix METAFILEPICT marshalling for 64-bit.
Spotted by Sebastian Lackner.

Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-09-28 11:34:19 +09:00
Sebastian Lackner 0a1da6bce9 user32: Call GlobalUnlock with the correct argument in SetClipboardData.
Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-09-28 11:26:09 +09:00
Andrey Gusev f669dc69cd user32/tests: Fix incorrect usage of broken() function.
Signed-off-by: Andrey Gusev <andrey.goosev@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-09-28 00:56:02 +09:00
Michael Stefaniuc 3589cd921d user32/tests: Use wine_dbgstr_rect() to print rects.
Signed-off-by: Michael Stefaniuc <mstefani@redhat.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-09-27 21:43:26 +09:00
Michael Stefaniuc 40fdd83489 user32/tests: Use EqualRect() instead of open coding it.
Signed-off-by: Michael Stefaniuc <mstefani@redhat.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-09-27 21:43:26 +09:00
Michael Stefaniuc e974731117 user32/tests: Remove two commented out printf().
Signed-off-by: Michael Stefaniuc <mstefani@redhat.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-09-27 21:43:26 +09:00
Alexandre Julliard 8f24641ff3 user32: Enforce null termination of strings added to the clipboard.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-09-27 21:43:24 +09:00
Alexandre Julliard b39a0f008b user32: Remove no longer used clipboard driver entry points.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-09-26 15:54:05 +09:00
Alexandre Julliard f0fbf1a9d1 user32: Cache clipboard data on the client side.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-09-26 15:12:21 +09:00
Alexandre Julliard 9ed8f5e83f user32: Add synthesized clipboard formats on the server side.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-09-26 15:06:10 +09:00
Alexandre Julliard 3044935b0e user32: Retrieve clipboard data from the server.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-09-26 14:48:32 +09:00
Alexandre Julliard c69b4995c5 user32: Retrieve available clipboard formats from the server.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-09-26 14:20:41 +09:00
Alexandre Julliard 79f90e4e41 user32: Store clipboard data on the server side.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-09-26 14:20:26 +09:00
Alexandre Julliard 11c3867349 user32: Add an UpdateClipboard entry point to allow the driver to refresh the clipboard before it's open.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-09-23 20:30:15 +09:00
Huw Davies b7c5ff05a7 user32: Implement OemKeyScan().
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-09-22 22:29:57 +09:00
Huw Davies ddc1658501 user32: Use MB_USEGLYPHCHARS in OemToCharBuffW().
OemToCharBuffA() is more complicated and looks like it will require a
custom table, so that is left as is.

Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-09-22 22:29:54 +09:00
Huw Davies b981d18a55 user32/tests: BITMAPCOREINFO icons are no longer supported on Win 8.
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-09-19 23:14:14 +09:00
Huw Davies 512c8f9444 user32/tests: Add space for the mask data to prevent failures on Win 8 and 10.
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-09-16 23:25:02 +09:00
Alexandre Julliard fe04dd2a4b user32: Use GetDIBits to retrieve the bitmap header when synthesizing a DIB.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-09-15 21:02:34 +09:00
Alexandre Julliard 08aa64e38e user32/tests: Add some tests for the contents of the clipboard data.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-09-15 21:02:34 +09:00
Piotr Caban 80a222a8cd user32: Fix DefWindowProc(WM_NCRBUTTONDOWN) tests on Win 8 and 10.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-09-14 22:25:52 +09:00
Alexandre Julliard 305d89f1ed server: Return the owner window in the close_clipboard request.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-09-14 16:25:08 +09:00
Alexandre Julliard 2bf890d95f server: Return the owner window in the release_clipboard request.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-09-14 16:25:07 +09:00
Alexandre Julliard c1f62c8985 user32: Clean up clipboard debug traces.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-09-14 16:25:07 +09:00
Alexandre Julliard 4bdcf512cf user32: Fix GetClipboardFormatName behavior for integer formats.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-09-14 16:25:07 +09:00
Alexandre Julliard 30179166d2 user32/tests: Comment out a test that crashes on 64-bit Vista.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-09-14 14:19:33 +09:00
Sebastian Lackner acdf001261 user32: Fix definition of DeregisterShellHookWindow.
Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-09-14 11:50:58 +09:00
Alexandre Julliard 0b95237677 user32/tests: Add more tests for clipboard data storage.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-09-13 22:41:02 +09:00
Alexandre Julliard ed97fa1cb2 user32/tests: Add more tests for GDI and private clipboard formats.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-09-09 22:49:27 +09:00
Alexandre Julliard 3bab02d02a user32/tests: Make the clipboard sequence tests more strict.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-09-09 22:48:58 +09:00
Alexandre Julliard ef08bd7675 user32: Clear last error in EnumClipboardFormats.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-09-09 22:48:32 +09:00
Sebastian Lackner 4e63a5bf8f user32: Add missing call to GlobalUnlock in render_synthesized_enhmetafile.
Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-09-08 10:08:55 +09:00
Sebastian Lackner 5eb8217f6d user32: Add missing calls to GlobalUnlock in render_synthesized_dib.
Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-09-08 10:08:45 +09:00
Sebastian Lackner a78fd8a07e user32: Only call GlobalUnlock when GlobalLock was successful.
Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-09-08 10:08:00 +09:00
Alexandre Julliard 9a652e211c user32: Synthesize bitmap clipboard formats on the user32 side.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-09-07 11:36:24 +09:00
Alexandre Julliard 1993898459 user32: Synthesize metafile clipboard formats on the user32 side.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-09-07 10:51:21 +09:00
Akihiro Sagawa 686369022d imm32: Set the default IME window title and styles as in native.
Signed-off-by: Akihiro Sagawa <sagawa.aki@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-09-07 10:43:13 +09:00
Alexandre Julliard 8865f4a4ec user32: Synthesize text clipboard formats on the user32 side.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-09-07 00:34:24 +09:00
Alexandre Julliard b1e8ed3e3b user32/tests: Add a few more tests for synthesized formats rendering.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-09-06 17:24:53 +09:00
Alexandre Julliard fa06ecbfce user32: Implement GetUpdatedClipboardFormats.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-09-06 15:35:49 +09:00
Huw Davies 5942625a00 user32/tests: On Win 8 and later, moving a window off-screen doesn't crop its update region.
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-09-06 11:29:48 +09:00
Huw Davies 1c70de2a34 user32/tests: ValidateRect(NULL, &rect) on >= Win 8 no longer invalidates all windows.
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-09-06 11:29:40 +09:00
Sebastian Lackner 994b06a97d user32: Do not create IME window for HWND_MESSAGE windows.
Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
Signed-off-by: Akihiro Sagawa <sagawa.aki@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-09-02 23:34:27 +09:00
Alexandre Julliard e01592e82f user32/tests: Add some tests for synthesized clipboard formats.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-09-02 16:20:07 +09:00
Huw Davies c247a36eed user32: EC_USEFONTINFO behaviour depends on whether the font's charset is CJK or not.
In the non-CJK case, the margins are half of the width returned by
GdiGetCharDimensions() but only if the client rect's width is above a
certain size.  There is an exception if the client rect is empty if
the font is sufficiently small.

In the CJK case, the margins are independent of the client rect size.

Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-09-01 22:14:22 +09:00
Alexandre Julliard 2b8021d4d0 server: Don't release the clipboard owner window when the owner thread terminates.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-09-01 22:14:22 +09:00
Alexandre Julliard bddab0e7f8 server: Add a release_clipboard request, and notify the owner and viewer on release.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-09-01 22:02:04 +09:00
Alexandre Julliard c6f12bd9cc server: Notify all listeners when the contents of the clipboard have changed.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-30 16:33:04 +09: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
Alexandre Julliard 35537b1d45 server: Implement Add/RemoveClipboardFormatListener.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-29 23:54:40 +09:00
Alexandre Julliard 19d16a7cb1 server: Add some validation of clipboard window handles.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-29 21:31:50 +09:00
Akihiro Sagawa 911d269be8 user32: Create and destroy the default IME window implicitly.
Signed-off-by: Akihiro Sagawa <sagawa.aki@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-29 16:45:32 +09:00
Piotr Caban 1c73fcdbcb user32: Fix DefWindowProc behavior on WM_NCRBUTTONDOWN message.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-29 16:38:31 +09:00
Jacek Caban f0e7bd248e user32: Introduced ThreadDetach driver entry point.
The problem was diagnosed by Ken Thomases.

Currently drivers use DllMain(DLL_THREAD_DETACH) to release thread data.
The problem is that DLLs (like native urlmon.dll, esp. reproducible in
IE8) may still do user32 calls after driver detaches thread. Loader
ensures that since user32.dll was loaded before dependent DLLs, user32's
DllMain will be called in the right moment. Due to lazy loading of
drivers, we have no control over them. We may use a new entry point to
make sure that we detach user32 and driver at the same time.

Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-27 13:23:52 +09:00
Alexandre Julliard 7888382e0a user32: Notify the clipboard viewer on close even if we are not the owner.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-25 22:09:08 +09:00
Alexandre Julliard 57e2b75c02 user32/tests: Add some tests for inter-process clipboard viewer notifications.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-25 21:36:32 +09:00
Alexandre Julliard 5962df3a1e server: Cleanup clipboard information upon window destruction.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-24 00:16:43 +09:00
Alexandre Julliard 43e38153ee user32/tests: Add a few more clipboard tests.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-24 00:16:43 +09:00
Alexandre Julliard 99d5b75c7d winex11: Don't disallow replacing unowned formats.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-23 18:05:48 +09:00
Alexandre Julliard d9df977006 user32: Don't disallow delayed rendering even when not the clipboard owner.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-23 17:57:50 +09:00
Alexandre Julliard 42c221db6c user32: Don't allow SetClipboardData if the clipboard is not open.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-23 17:35:18 +09:00
Alexandre Julliard 79d2e0a9be server: Add a request to return clipboard information.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-23 16:29:00 +09:00
Huw Davies 9efcbd113d user32: Scale the button size with screen resolution.
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-22 23:05:22 +09:00
Huw Davies b0ec8a6675 user32: The offset between the button and the text is half the digit width.
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-22 23:05:22 +09:00
Huw Davies 94a87819c5 user32: Scale the check mark drawn with DrawFrameControl().
Based on a patch by Alexandre Julliard.

Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-22 23:05:22 +09:00
Huw Davies e06f3cd12c user32: Scale the edge thickness of check boxes drawn with DrawFrameControl().
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-22 23:05:21 +09:00
Alexandre Julliard 67ee1d3fd8 user32: Get rid of the CLIPBOARDINFO structure.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-22 23:05:21 +09:00
Alexandre Julliard 98b24dcb50 server: Add a separate request to set the clipboard viewer.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-22 23:05:20 +09:00
Alexandre Julliard 7258793169 server: Add separate requests for opening and closing the clipboard.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-22 16:20:53 +09:00
Alexandre Julliard e3a8c3a869 user32/tests: Disable custom GDI clipboard formats tests on 64-bit.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-19 16:14:30 +09:00
Alexandre Julliard 60f8b516e2 winex11: Allocate clipboard data as GMEM_FIXED.
Based on a patch by Rafał Harabień.

Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-18 20:57:51 +09:00
Alexandre Julliard a96b017070 user32/tests: Add some tests for GDI clipboard formats.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-18 20:51:16 +09:00
Józef Kucia 4277b055de user32: Prevent resetting WS_MINIMIZE through SetWindowLong.
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-18 11:57:25 +09:00
Józef Kucia 412b8dcafb user32/tests: Add more tests for setting window styles.
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-18 11:57:11 +09:00
Alexandre Julliard 2e6fc89395 user32/tests: Add some cross-process clipboard tests.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-18 00:09:36 +09:00
Alexandre Julliard 0a1f9bec6d user32/tests: Add tests for clipboard global memory handles.
The GMEM_FIXED tests are based on a patch by Rafał Harabień.

Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-17 17:22:46 +09:00
Nikolay Sivov 17987c589f user32: Handle invalid dialog handles in IsDialogMessage().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-17 11:53:41 +09:00
Michael Stefaniuc d8a970f94a user32/tests: Remove an identical if/else branch.
Signed-off-by: Michael Stefaniuc <mstefani@redhat.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-10 22:22:57 +09:00
Nikolay Sivov 6c8887b830 user32/tests: Fix indentation warnings on GCC 6.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-10 12:51:54 +09:00
Andrew Eikum c1c3198aa4 user32: Don't always insert menu items during WM_MDISETMENU.
MSDN says WM_MDISETMENU shouldn't change the frame menu if it is given
as NULL. Tests bear that out. Some other tests are included to show we
haven't broken behavior on e.g. initially maximized MDI child windows.

Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-08 18:41:29 +09:00
Michael Stefaniuc c80ba53864 user32/tests: Make use of todo_wine_if().
Signed-off-by: Michael Stefaniuc <mstefani@redhat.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-04 16:50:52 -05:00
Michael Stefaniuc 07f9f71278 user32: Use straight assignments instead of CopyRect().
Signed-off-by: Michael Stefaniuc <mstefani@redhat.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-02 16:18:05 -05:00
Michael Stefaniuc e13011f63e user32: Simplify a RECT copy.
Signed-off-by: Michael Stefaniuc <mstefani@redhat.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-07-19 19:59:31 +09:00
Michael Stefaniuc 07ada9a85b user32: Use SetRect() instead of open coding it.
Signed-off-by: Michael Stefaniuc <mstefani@redhat.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-07-19 19:59:30 +09:00
Alexandre Julliard 911e59c133 user32: Store window station objects under the session directory.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-07-18 16:21:24 +09:00
Dmitry Timoshkov 59ba31d1fc user32: Properly handle invalid parameters in CharToOem[Buff]W and OemToChar[Buff]W.
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-07-08 20:12:12 +09:00
Dmitry Timoshkov 80d655ca75 user32: Properly handle invalid parameters in CharToOem[Buff]A and OemToChar[Buff]A.
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-07-08 20:12:09 +09:00
Michael Stefaniuc a1f0d09ab3 user32/tests: Use wine_dbgstr_rect() to print RECTs.
Signed-off-by: Michael Stefaniuc <mstefani@redhat.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-07-06 16:15:52 +09:00
Michael Stefaniuc 488562904f user32: Use InflateRect() too when stretching the RECT in just one axis.
Signed-off-by: Michael Stefaniuc <mstefani@redhat.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-07-04 17:41:35 +09:00
Michael Stefaniuc 62c3bce847 user32: Use InflateRect() instead of open coding it.
Signed-off-by: Michael Stefaniuc <mstefani@redhat.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-07-04 10:58:50 +09:00
Michael Stefaniuc ce88870982 user32/tests: Avoid using CopyRect().
Signed-off-by: Michael Stefaniuc <mstefani@redhat.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-06-22 22:16:35 +09:00
Michael Stefaniuc c03ccff2ba user32/tests: Finish the move to use wine_dbgstr_rect().
Signed-off-by: Michael Stefaniuc <mstefani@redhat.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-06-21 00:23:56 +09:00
Michael Stefaniuc 827cd8f332 user32/tests: Use the stricter !IsRectEmpty() check.
The EMPTY macro is much stricter than IsRectEmpty() as it checks for
zero heigth AND width aka rect has the size of a point.

Signed-off-by: Michael Stefaniuc <mstefani@redhat.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-06-21 00:23:56 +09:00
Michael Stefaniuc 4730f4fffb user32/tests: Remove some old broken behavior.
Signed-off-by: Michael Stefaniuc <mstefani@redhat.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-06-21 00:23:56 +09:00
Michael Stefaniuc bca5acb5ca user32: Use EqualRect() instead of memcmp() to compare RECTs.
Signed-off-by: Michael Stefaniuc <mstefani@redhat.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-06-21 00:23:55 +09:00
Michael Stefaniuc 41d01871fe user32/tests: Add some IsRectEmpty() tests.
Signed-off-by: Michael Stefaniuc <mstefani@redhat.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-06-17 00:09:23 +09:00
Michael Stefaniuc 7f5adb69cd user32/tests: Use wine_dbgstr_rect() to print RECTs.
Signed-off-by: Michael Stefaniuc <mstefani@redhat.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-06-17 00:09:21 +09:00
Michael Stefaniuc 82fa7dea2a user32/tests: Remove an unused macro.
Signed-off-by: Michael Stefaniuc <mstefani@redhat.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-06-17 00:09:20 +09:00
Michael Stefaniuc ea50a4f8d8 user32/tests: Use wine_dbgstr_rect() in the win tests.
Signed-off-by: Michael Stefaniuc <mstefani@redhat.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-06-13 19:50:20 +09:00
Alexandre Julliard fb6304119a user32: Add helper functions to get and set the window internal flags.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-06-13 19:46:30 +09:00
Alexandre Julliard 2e4f89edf1 user32: Notify explorer when the active window changes.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-06-10 20:34:03 +09:00
Jacek Caban bce9e1d2bd user32: Make SetWindowLongW hotpatchable.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-06-09 12:11:44 +09:00
Alexandre Julliard ac2b288b27 user32: Remove redundant system menu handle checks.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-06-08 16:12:46 +09:00
Alexandre Julliard 83ed0a636b user32: Setup system menu even when used through TrackPopupMenu.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-06-08 16:12:26 +09:00
Michael Stefaniuc 9ed915083f user32: Use InflateRect() instead of open coding it.
Signed-off-by: Michael Stefaniuc <mstefani@redhat.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-06-06 18:48:34 +09:00
Michael Stefaniuc 4b26eef83c user32/tests: Use EqualRect() instead of open coding it.
Signed-off-by: Michael Stefaniuc <mstefani@redhat.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-06-06 18:48:34 +09:00
Andrey Gusev 647ecec46d user32/tests: Fix a typo in ok() messages.
Signed-off-by: Andrey Gusev <andrey.goosev@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-06-03 12:31:07 +09:00
Nikolay Sivov 54f41ae3eb user32/tests: Some tests for EqualRect()/SetRect().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-06-03 12:30:17 +09:00
Nikolay Sivov 59ee884bdf user32/tests: Fix a leak when creating test icons (Valgrind).
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-06-01 00:21:49 +09:00
Alexandre Julliard 596c16cc13 user32: Post notification to the desktop window for window creation/activation.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-05-31 13:53:15 +09:00
Andrey Gusev a0c651cd7c user32: Fix a typo in comment.
Signed-off-by: Andrey Gusev <andrey.goosev@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-05-27 00:15:10 +09:00
Alexandre Julliard 5fdcacad0a user32: Make spacing consistent between DrawCaptionTemp and NC_DrawCaption.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-05-26 22:14:51 +09:00
Alexandre Julliard b4bccfee05 user32: Use the monitor rectangle to position icons on the desktop.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-05-26 16:56:15 +09:00
Alexandre Julliard 100239d90f user32: Take the arrange flags into account when positioning icon windows.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-05-26 16:56:15 +09:00
Andrey Gusev 5a0596ed10 user32/tests: Fix a typo in ok() message.
Signed-off-by: Andrey Gusev <andrey.goosev@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-05-23 14:09:08 +09:00
Alexandre Julliard d104891433 user32: Only start reusing DCEs after the cache reached its limit.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-05-21 09:55:18 +09:00
Alexandre Julliard d341b0c381 user32: Completely free owned DCEs when the corresponding window/class is destroyed.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-05-21 09:55:03 +09:00
Alexandre Julliard 5f7e4ce642 user32: Fix refcounting of window DCEs.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-05-21 09:54:01 +09:00
Vincent Povirk b68e03f9c9 user32: Don't regard the clipboard as changed if we don't own it.
I ran into a situation where user32 will call EndClipboardUpdate even though
the clipboard hasn't changed. It went something like this:
* Program A acquires the clipboard and adds some delay-rendered data.
* Program B requests data from the clipboard, causing program A to receive
  WM_RENDERFORMAT.
* Program A calls SetClipboardData to fulfill the request, setting
  bCBHasChanged to TRUE.
* Program C acquires the clipboard.
* Program A opens the clipboard to enumerate the formats. When it closes the
  clipboard, EndClipboardUpdate is called.

Signed-off-by: Vincent Povirk <vincent@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-05-21 00:53:52 +09:00
Vincent Povirk 1383012395 user32: Also change rcUpdate when scrolling by more than the window size.
Signed-off-by: Vincent Povirk <vincent@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-05-21 00:53:51 +09:00
Alexandre Julliard c007b3cd46 user32: Load the default app icon with LR_SHARED to avoid a leak.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-05-19 16:38:49 +09:00
Michael Stefaniuc 5f494bfeb4 include: Use inline functions for common RECT helpers.
Signed-off-by: Michael Stefaniuc <mstefani@redhat.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-05-17 21:02:29 +09:00
Francois Gouget 6fe747bbbc user32/tests: Fix a spelling error in a scroll comment.
Signed-off-by: Francois Gouget <fgouget@free.fr>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-05-16 15:32:51 +09:00
Michael Stefaniuc 21e3de63de user32: Use IsRectEmpty() instead of open coding it.
Signed-off-by: Michael Stefaniuc <mstefani@redhat.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-05-05 01:27:52 +09:00
Andrey Gusev f5531dc347 user32/tests: Fix a typo in comment.
Signed-off-by: Andrey Gusev <andrey.goosev@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-05-05 01:27:51 +09:00
André Hentschel 2d62300060 user32/tests: Don't test function directly when reporting GetLastError().
Signed-off-by: André Hentschel <nerv@dawncrow.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-05-05 01:27:51 +09:00
Jacek Caban 912d7474c0 user32/tests: Added PrivateExtractIcons test.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-05-02 18:33:49 +09:00
Jacek Caban 03b93eeeff user32: Use proper types in ICO_GetIconDirectory.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-05-02 18:33:44 +09:00
Jacek Caban 5aaa8e25ad user32/tests: Moved creating .ico file into a helper function.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-05-02 18:33:14 +09:00
Pierre Schweitzer bfb7e167cb user32: Check bounds before dereferencing.
Signed-off-by: Pierre Schweitzer <pierre@reactos.org>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-05-02 18:30:50 +09:00
Andrey Gusev 2454bbd5e4 user32/tests: Fix a typo in ok() message.
Signed-off-by: Andrey Gusev <andrey.goosev@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-05-02 12:26:38 +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 f5b8eb4977 user32/tests: Add additional test for window station name.
Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-04-29 20:02:44 +09:00
Michael Stefaniuc 959b9d1cbb user32: Use wine_dbgstr_rect() to print a RECT.
Signed-off-by: Michael Stefaniuc <mstefani@redhat.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-04-27 12:41:55 +09:00
Dmitry Timoshkov 00b68720bf user32: Change value of WM_MDICALCCHILDSCROLL to 0x003f.
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-04-20 22:49:42 +09:00
Alexander Lakhin bc3f40e21a user32: Send WM_CTLCOLOR* message only for visible buttons.
Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-04-20 21:52:51 +09:00
Sebastian Lackner 2c180741e1 user32/tests: Add tests for button WM_CTLCOLOR* messages.
Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-04-20 21:52:46 +09:00
Alexander Lakhin 35ab5f4499 user32: Send the correct WM_CTLCOLOR* message in button WM_SETTEXT handler.
Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-04-20 21:52:41 +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
Vincent Povirk 3cc6a1acc3 Revert "user32: Set capture earlier on popup menus.".
This reverts commit a9bff001a1.

We can't set capture this early because the popup menu isn't visible
yet. To my knowledge, no applications depend on this, nor did the
next patch in the series. It's only a theoretical issue revealed by
a message test.

Signed-off-by: Vincent Povirk <vincent@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-04-20 16:54:47 +09:00
Michael Stefaniuc 08821df92c user32: Use wine_dbgstr_rect() to trace a RECT.
Signed-off-by: Michael Stefaniuc <mstefani@redhat.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-04-19 21:06:10 +09:00
Michael Stefaniuc 4ee8139487 user32/tests: Use SetRect instead of open coding it.
Signed-off-by: Michael Stefaniuc <mstefani@redhat.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-04-18 19:28:31 +09:00
Andrew Eikum 76f1c254a2 user32: Grammar fix.
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-04-18 15:16:54 +09:00
Dmitry Timoshkov b555f41020 user32/tests: Add some tests for dialog owner disabled state.
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-04-12 19:27:56 +09:00
Jacek Caban ae39337e77 user32: Added more tests of handling parent/owner by dialog.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-04-11 22:36:21 +09:00
Jacek Caban 36b64321b2 user32: Use the original owner used to create the dialog for WM_ENTERIDLE messages.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-04-11 22:09:30 +09:00
Jacek Caban fc4b906d78 user32: Don't enable owner in DIALOG_DoDialogBox.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-04-11 22:09:27 +09:00
Jacek Caban 2f8f9d20aa user32: Use GWLP_HWNDPARENT to find an owner in EndDialog.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-04-11 22:09:25 +09:00
Jacek Caban 9da0c00a68 user32: Use top level window as dialog parent for modal dialogs.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-04-11 22:09:22 +09:00
Rodrigo Rivas Costa 5e65b65219 user32: Make DeferWindowPos() fail on invalid window handles.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-04-11 19:32:12 +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
Nikolay Sivov d154c8424d user32/tests: Message filtering tests for broadcast messages.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-04-09 00:12:24 +09:00
Dmitry Timoshkov e37e0f2743 user32: Avoid dereferencing NULL pointer in a trace.
Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-04-07 15:04:07 +09:00
Louis Lenders 5cf42c0c97 user32: Add stub for IsProcessDPIAware.
Signed-off-by: Louis Lenders <xerox.xerox2000x@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-04-01 18:34:16 +09:00
Sebastian Lackner 11f6df13eb user32: Set %ecx to address of rect in EnumDisplayMonitors callback.
Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-03-31 15:57:32 +09:00