Commit Graph

2875 Commits

Author SHA1 Message Date
Alistair Leslie-Hughes d8a27a78dd user32: Don't reset focus if current dialog is a child.
The standard File Open Dialog creates an empty WS_EX_CONTROLPARENT
child dialog which shouldn't receive focus.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=46215
Signed-off-by: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-12-17 22:35:14 +01:00
Gabriel Ivăncescu d2cf3e9763 user32: Fix tracking position for non-client scrollbars.
Non-client scrollbars (SB_HORZ and SB_VERT) don't have their client origin at
(0,0) because they can have non-client borders. It is necessary to offset
by this origin just as it is done for LBUTTONDOWN.

Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-12-12 17:30:16 +01:00
Alistair Leslie-Hughes 7b742485f9 user32/edit: Don't set caret position when we don't have focus.
Signed-off-by: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-12-12 17:08:25 +01:00
Alexandre Julliard ec94d0d58d user32/tests: Fix some test failures on latest Windows 10.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-12-11 15:54:06 +01:00
Francois Gouget 1d52a6e1b6 user32/tests: Make test_LoadImage_working_directory_run() static.
Signed-off-by: Francois Gouget <fgouget@free.fr>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-12-10 10:05:51 +01:00
Gabriel Ivăncescu ae4199e264 user32/listbox: Store the items array size instead of using HeapSize().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-12-03 12:02:01 +01:00
Gabriel Ivăncescu 8700ef560e user32/listbox: Account for NULL item when painting ownerdrawn list.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-12-03 12:01:59 +01:00
Nikolay Sivov db869b61a1 user32/listbox: Remove duplicated condition.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-12-03 12:01:57 +01:00
Nikolay Sivov 4705843642 user32/listbox: Use helper to test for selected state on painting.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-12-03 12:01:55 +01:00
Gabriel Ivăncescu 3b087ce81f user32/listbox: Use a helper function to check the selection state of an item.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-12-03 12:01:53 +01:00
Fabian Maurer 400dd1596a user32: LoadImage should not only search in the working directory.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=46186
Signed-off-by: Fabian Maurer <dark.shadow4@web.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-30 20:39:03 +01:00
Gabriel Ivăncescu 40e16ac150 user32/tests: Also include LBS_NODATA cases when testing ownerdraw.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-28 12:12:32 +01:00
Ralf Habacker 081a48ebab server: Release atoms when destroying a window class.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=46180
Signed-off-by: Ralf Habacker <ralf.habacker@freenet.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-28 10:43:37 +01:00
Dmitry Timoshkov 44f89322ba user32: If there is no dialog controls to set focus to then set focus to dialog itself.
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-28 09:36:08 +01:00
Dmitry Timoshkov 87d194dd1d user32/tests: Add a focus test for an empty dialog that returns TRUE in WM_INITDIALOG.
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-28 09:36:06 +01:00
Dmitry Timoshkov b1b8fb77be user32: Add support for navigating a group of radio buttons using a keyboard.
The patch approximates the behaviour observed in the message tests
but still doesn't make the message tests pass without failures.

Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-27 09:02:04 +01:00
Dmitry Timoshkov bf55f167b9 user32/tests: Add a test for navigating a group of buttons using keyboard events.
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-27 09:02:02 +01:00
Dmitry Timoshkov d57fcb4113 user32/tests: Simplify the test for BM_CLICK on autoradio button by using a dialog.
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-27 09:02:01 +01:00
Alexandre Julliard 7507541a5b user32: Fix wraparound check to avoid gcc optimization.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-26 20:17:41 +01:00
Dmitry Timoshkov af88297f4a user32/tests: Add a message test for group of radio buttons.
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-26 12:51:48 +01:00
Dmitry Timoshkov 96d0af52eb user32: Move the auto radio button group logic from BM_SETCHECK to WM_LBUTTONUP handler.
This patch also changes the logic to get the control style with WM_GETDLGCODE
instead of GetWindowLong to make the message test pass.

Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-26 12:51:43 +01:00
Dmitry Timoshkov 2d9e3236ea user32: Don't force a combobox repaint on WM_SIZE.
This breaks z-order based painting and causes side effects for
applications that during the WM_PAINT processing reference internal
data associated with a not fully initialized window.

Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-26 12:50:52 +01:00
Jacek Caban 9d4ce95de5 user32: Attempt to set scroll info in SetScrollPos even if SCROLL_GetInternalInfo fails.
SetScrollPos may be called on non-scroll window and we should send
SBM_SETSCROLLINFO. This fixes scrollbars in Visio.

Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-21 17:07:01 +01:00
Nikolay Sivov b5f179655c server: Use base class atom for child window enumeration.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-19 22:42:41 +01:00
Nikolay Sivov e8897ebe4e user32/tests: Add FindWindow() test for versioned class.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-19 22:42:41 +01:00
Gabriel Ivăncescu dfb57a1655 user32/listbox: Make LBS_NODATA listboxes error on any attempt to find a value.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-16 14:58:41 +01:00
Gabriel Ivăncescu d30aadd3e1 user32/listbox: Don't set any data for LBS_NODATA listboxes.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-16 14:58:41 +01:00
Gabriel Ivăncescu cab591c59b user32/listbox: Return 0 from LB_GETITEMDATA for LBS_NODATA listboxes.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-16 14:58:41 +01:00
Gabriel Ivăncescu c980edc227 user32/listbox: Always retrieve zeros in LB_GETTEXT for LBS_NODATA listboxes.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-16 14:58:41 +01:00
Gabriel Ivăncescu c920b4dc5a user32/listbox: Use ULONG_PTR instead of DWORD when retrieving text without HAS_STRINGS.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-16 14:58:41 +01:00
Gabriel Ivăncescu 0a5c360f39 user32/listbox: Make SetCount fail if LBS_NODATA is not set.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-16 14:58:41 +01:00
Gabriel Ivăncescu afe443c3f2 user32/listbox: Disable LBS_NODATA if styles are incompatible with it.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-16 14:58:41 +01:00
Gabriel Ivăncescu 9b59eb477b user32/listbox: Clear LBS_OWNERDRAWVARIABLE if LBS_OWNERDRAWFIXED is set.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-16 14:58:41 +01:00
Gabriel Ivăncescu 24b539dea8 user32/tests: Test incompatible styles for LBS_NODATA.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-16 14:58:41 +01:00
Gabriel Ivăncescu 2fc9d0afd9 user32/tests: Add some tests for LBS_NODATA.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-16 14:58:41 +01:00
Gabriel Ivăncescu 686fb70016 user32/tests: Add more Listbox tests for ownerdraw styles.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-16 14:58:41 +01:00
Jacek Caban 8c8701befb user32: Allow scrollbar control to store scroll info in subclassed window.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=46004
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=45966
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-07 18:31:11 +01:00
Nikolay Sivov 54cd4464c6 user32/tests: Fix Listbox test failures on some configurations.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-07 17:08:59 +01:00
Alexandre Julliard 542150afe5 user32/tests: Add tests for GetCurrentInputMessageSource().
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-05 19:12:12 +01:00
Alexandre Julliard 4da1c4370b user32: Implement GetCurrentInputMessageSource().
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-05 19:12:12 +01:00
Alexandre Julliard 771123afb6 user32: Add stub for GetCurrentInputMessageSource().
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-05 19:12:12 +01:00
Jacek Caban d23be055be user32/tests: Add scrollbar subclassing tests.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-10-31 19:15:34 +01:00
Alexandre Julliard 5d282ec64d user32: Use height from font metrics for empty text runs in TabbedTextOut().
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=39051
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-10-08 13:22:39 +02:00
Alex Henrie 67a33fce6f user32: Add stub for SetWindowCompositionAttribute.
Based on a patch by Louis Lenders.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=44787
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-10-08 09:34:56 +02:00
Bernhard Übelacker f5bb76f69a user32: Let nulldrv return some dummy monitor information.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=43187
Signed-off-by: Bernhard Übelacker <bernhardu@mailbox.org>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-10-04 09:12:36 -05:00
Dmitry Timoshkov 5277aa8f64 user32: Fix the pointer to custom dialog control data.
Suggested by vendor2013@herdsoft.com.

Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-10-01 19:12:23 -07:00
Dmitry Timoshkov 606b027277 user32/tests: Add a test for custom dialog control data.
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-10-01 19:12:22 -07:00
Jacek Caban b8ef42c9fd user32: Make sure that passed window handle is scroll control before accessing wExtra in SCROLL_GetInternalInfo.
Fixes memory corruption in Office 2016.

Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-09-20 18:33:12 +02:00
Józef Kucia 34700ae938 user32/tests: Add test for desktop window procedure.
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-09-19 19:46:42 +02:00
Józef Kucia a8e7348a3d user32: Call DefWindowProc() in DesktopWndProc().
This fixes a regression introduced by commit
fc14753dc0.

WM_NCCALCSIZE is not handled yet because it initiates loading the
driver again.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=45485
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-09-19 19:46:42 +02:00