Commit Graph

2995 Commits

Author SHA1 Message Date
Gabriel Ivăncescu 3ef790b968 user32/listbox: Resize the entire item array at once in SetCount.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-02-15 15:08:02 +01:00
Zebediah Figura 21c8c5a900 user32/tests: Execute test_shell_window() last.
Cf. also d83fc43e5e.

Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-02-14 11:44:07 +01:00
Gabriel Ivăncescu 0d19628ef5 user32/tests: Add tests for LB_INITSTORAGE.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-02-11 11:52:00 +01:00
Gabriel Ivăncescu 0dd9eaf4e3 user32/listbox: Return proper value for LB_INITSTORAGE.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-02-11 11:52:00 +01:00
Gabriel Ivăncescu 1ece9f6205 user32/listbox: Shrink the item array with resize_storage.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-02-11 11:52:00 +01:00
Gabriel Ivăncescu d7f2f33575 user32/listbox: Use a helper to expand the item array.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-02-11 11:52:00 +01:00
Gabriel Ivăncescu ea185314b3 user32/listbox: Check for out of bounds using the index when painting the item.
Needed for LBS_NODATA.

Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-02-11 11:52:00 +01:00
Paul Gofman d4dc48041b user32/tests: Add more tests for SetWindowPos() on child window.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=20190
Signed-off-by: Paul Gofman <gofmanp@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-02-05 17:30:12 +01:00
Paul Gofman bfe1ea26dd user32: Select more appropriate stretch mode for colored images interpolation.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=46375
Signed-off-by: Paul Gofman <gofmanp@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-02-05 17:29:57 +01:00
Zhiyi Zhang 7c8cf96e9c user32: Fix a memory leak.
Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-01-24 20:10:45 +01:00
Nikolay Sivov 47a44e6d9c user32/dialog: Fix setting negative dialog item ids.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=46494
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-01-24 19:39:46 +01:00
Zhiyi Zhang bd730a5f41 user32: Check for null handle in GetRawInputData().
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=46499
Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-01-24 17:37:56 +01:00
Paul Gofman fd68a9833e user32/tests: Add tests for stretch mode in LoadImage().
Signed-off-by: Paul Gofman <gofmanp@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-01-09 09:58:16 -06:00
Paul Gofman 9cd885f441 user32/tests: Factor out compare_bitmap_bits() function.
Signed-off-by: Paul Gofman <gofmanp@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-01-09 09:58:16 -06:00
Paul Gofman 75165d0da5 user32/tests: Add test for 16 bit image stretch mode in CopyImage().
Signed-off-by: Paul Gofman <gofmanp@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-01-09 09:58:16 -06:00
Paul Gofman 5c8444093a user32/tests: Add test for 8 bit image stretch mode in CopyImage().
Signed-off-by: Paul Gofman <gofmanp@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-01-09 09:58:16 -06:00
Alexandre Julliard 8563a2c4f5 user32: Cache full name of non-client metrics fonts.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-01-07 10:47:21 -06:00
Alexandre Julliard d3ca7db42e user32: Also ignore dynamic DPI awareness changes when DPI scaling is disabled.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-12-31 16:48:45 +01:00
Paul Gofman 1bf418f0ff user32/tests: Add some tests for implicit stretch mode in CopyImage().
The values of the colored test result suggest that halftone filter is
used for shrinking: each pixel of output 2x2 image has the color value
averaged over 4 pixels from input 4x4 image.

Signed-off-by: Paul Gofman <gofmanp@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-12-31 10:30:30 +01:00
Alexandre Julliard 0d83218a2d user32: Clear %edi register when calling window procedure.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=46352
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-12-28 18:20:56 +01:00
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
André Hentschel bfad5527ac user32/tests: Allow newer Win10 behaviour.
Signed-off-by: André Hentschel <nerv@dawncrow.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-09-18 21:09:23 +02:00
Sven Baars 470f7b20d4 user32/tests: Use the correct procedure for dialog tests (Valgrind).
Signed-off-by: Sven Baars <sven.wine@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-09-17 18:35:40 +02:00
Alexandre Julliard 1505905290 user32: Ignore application-specified DPI awareness when DPI scaling is disabled.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-09-07 18:16:10 +02:00
Gabriel Ivăncescu 84ac7e1571 user32/listbox: Update the size in SetColumnWidth before calling UpdatePage.
Some applications don't forward WM_SIZE from DefWindowProc to the control,
but instead only send a LB_SETCOLUMNWIDTH message, even when the column
width doesn't change (but the listbox size does).

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=22440
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-09-07 13:23:51 +02:00
Alexandre Julliard 440484fc07 user32: Switch to the window DPI awareness for MDI scrolling.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-08-28 12:21:28 +02:00
Alexandre Julliard a525631920 user32: Scale dialog base units based on DPI awareness.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-08-28 12:06:13 +02:00
Alexandre Julliard 2068b73db5 user32: Process hardware messages in physical coordinates.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-08-27 14:25:17 +02:00
Alexandre Julliard c33615dcf3 user32: Map mouse events to physical coordinates in SendInput.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-08-27 14:25:17 +02:00
Alexandre Julliard ac3e887e5d user32: Support the MOUSEEVENTF_VIRTUALDESK flag in SendInput().
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-08-27 14:25:17 +02:00
Alexandre Julliard 8bca1b29cd user32: Scale coordinates in ClipCursor() based on DPI awareness.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-08-27 14:20:11 +02:00
Alexandre Julliard 910f3ed4da user32: Scale coordinates in Get/SetCursorPos() based on DPI awareness.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-08-27 14:19:29 +02:00
Alexandre Julliard 87d1a4a329 server: Scale coordinates in get_window_children_from_point based on DPI awareness.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-08-27 13:32:57 +02:00
Nikolay Sivov 78236592df user32: When registering redirected class use correct base class name.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=45689
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-08-27 10:57:39 +02:00
Alexandre Julliard 56b05ded78 user32: Switch to the window DPI awareness in update_window_state().
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-08-24 20:12:05 +02:00
Alexandre Julliard 72644bb603 user32: Switch to the window DPI awareness to process WM_GETMINMAXINFO.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-08-24 20:12:05 +02:00
Alexandre Julliard 0da23418ab user32: Switch to the window DPI awareness in ShowWindow().
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-08-24 20:12:05 +02:00
Alexandre Julliard 3bf279e7da user32: Switch to the window DPI awareness in SetParent().
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-08-24 20:12:05 +02:00
Alexandre Julliard 700b6182a4 user32: Switch to the window DPI awareness for non-client painting.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-08-24 20:12:05 +02:00
Alexandre Julliard 87e49000a1 user32: Scale coordinates in Get/SetWindowPlacement() based on DPI awareness.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-08-24 20:12:05 +02:00
Alexandre Julliard 8de1b2c2ce user32: Scale coordinates in MapWindowPoints() based on DPI awareness.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-08-24 20:12:05 +02:00
Alexandre Julliard c5a6925676 user32: Scale coordinates in WIN_GetRectangles() based on DPI awareness.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-08-24 20:12:05 +02:00
Gabriel Ivăncescu 3b9e22fafd user32/edit: Move common calls outside the blocks.
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-08-23 20:01:56 +02:00
Dmitry Timoshkov 1f75f42642 user32: Create a mask from alpha channel when loading a 32 bpp icon.
This patch fixes applications that draw the 32 bpp icons manually.

Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-08-23 13:36:27 +02:00
Alexandre Julliard 92f5c6e410 user32: Scale monitor rectangles based on DPI awareness.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-08-23 12:23:47 +02:00
Alexandre Julliard 7068a85604 user32: Scale window dimensions in DeferWindowPos() based on DPI awareness.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-08-23 12:17:06 +02:00
Alexandre Julliard 4233caa7b8 user32: Scale window dimensions in SetWindowPos() based on DPI awareness.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-08-23 12:16:48 +02:00
Alexandre Julliard 110443acef user32: Scale initial window dimensions in CreateWindow() based on DPI awareness.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-08-23 12:13:25 +02:00
Nikolay Sivov c9b6dd83a3 user32/listbox: Fix multicolumn navigation on VK_RIGHT.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-08-22 17:02:32 +02:00
Alexandre Julliard f49227db60 user32/tests: Add tests for window rectangles and DPI scaling.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-08-22 11:46:10 +02:00
Alexandre Julliard 98146e1bce user32/tests: Add tests for desktop size and DPI scaling.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-08-22 11:43:27 +02:00
Gabriel Ivăncescu f025570c80 user32/listbox: Fix scrolling for multi-column listboxes.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=38565
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-08-21 23:02:30 +02:00
Zebediah Figura 44551cfe19 user32: Return RIDI_DEVICENAME for HID devices from GetRawInputDeviceInfo().
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-08-21 10:27:56 +02:00
Zebediah Figura e745a482d1 user32: Return RIDI_DEVICEINFO for HID devices from GetRawInputDeviceInfo().
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-08-21 10:27:54 +02:00
Zebediah Figura 85d5fc23b4 user32: Return HID devices in GetRawInputDeviceList().
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-08-21 10:27:52 +02:00
Zebediah Figura 9e4e594972 user32: Trace command in hexadecimal in GetRawDeviceInfo().
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-08-21 10:27:49 +02:00
Zebediah Figura 6f3fb8c3f2 user32: Move rawinput functions to rawinput.c.
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-08-21 10:27:47 +02:00
Fabian Maurer 3d0be0bad8 user32/combo: Properly set dropdown height.
Now that user32 and comctl32 combo are separated,
this won't lead to a regression anymore.

Signed-off-by: Fabian Maurer <dark.shadow4@web.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-08-20 09:17:31 +02:00
Akihiro Sagawa c6d28c9399 user32: Support Japanese keyboard type in GetKeyboardType.
Signed-off-by: Akihiro Sagawa <sagawa.aki@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-08-17 16:51:02 +02:00
Nikolay Sivov 201dc289d0 user32/listbox: Update anchor index on LB_SETSEL.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-08-15 20:55:10 +02:00
Nikolay Sivov 5fced2810f user32/tests: Add some ListBox tests for anchor index.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-08-15 20:55:10 +02:00
Michael Stefaniuc b2fc591748 user32: Use the ARRAY_SIZE() macro.
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-08-14 10:16:02 +02:00
Fabian Maurer a9ac425a90 user32/menu: Release menu in HiliteMenuItem() to avoid deadlock.
MENU_SelectItem sends a message, and we must not hold the lock when
that happens

Signed-off-by: Fabian Maurer <dark.shadow4@web.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-07-20 18:36:56 +02:00
Alexandre Julliard a36abda773 user32: Make the MonitorFromRect() argument const.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-07-18 14:11:32 +02:00
Alexandre Julliard 3735f36dc9 user32: Fetch client and window rectangles in a single call.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-07-18 10:09:55 +02:00
Nikolay Sivov 85d159a408 user32/button: Use per-window dpi settings.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-07-17 17:39:56 +02:00
Alexandre Julliard 898f4b6c6a user32: Take DPI awareness into account in GetDpiForMonitorInternal().
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-07-17 17:39:56 +02:00
Alexandre Julliard aac37e8d0b user32: Implement monitor rectangle filtering on the user32 side.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-07-17 17:39:56 +02:00
Alexandre Julliard 2be5b054d3 user32: Move monitor functions to sysparams.c.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-07-17 17:39:56 +02:00
Zhiyi Zhang bfe6826a16 user32: Return FALSE for invalid handle in IsWindowEnabled().
GetWindowLong() returns 0 if passed an invalid window handle,
causing IsWindowEnabled() to incorrectly report TRUE.

Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-07-17 17:39:56 +02:00
Zhiyi Zhang 0b69359a24 user32/tests: Sleep when sending mouse clicks too fast.
A thread is used to send test data. If the thread sends mouse clicks
before pop-up menu initialization, it would report send input failure
and skip the tests.

Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-07-17 17:39:55 +02:00
Zhiyi Zhang a205401b38 user32: Fix menu item rectangle calculation in GetMenuItemRect().
This fixes the menu of BibleWorks 10 not showing up and some todo in
tests.

Sysmenu is in non-client area. And because MapWindowPoints() should
not be used with non-client area coordinates. Doing so results in
wrong coordinates for sysmenu item rectangles.

Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-07-17 17:39:55 +02:00
Zhiyi Zhang 608aa7f3d7 user32: Send notification for the focused button in IsDialogMessage().
When handling WM_KEYDOWN,VK_RETURN messages from a dialog hwnd in
IsDialogMessage(), if the focused button is in the dialog, send a BN_CLICKED
notification to the dialog proc. This also make it possible for the
default button with an id larger than 0xFFFF in the dialog to receive
the correct BN_CLICKED notification, which has a null lParam before this.

Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-07-16 21:28:45 +02:00
Zhiyi Zhang 8318b11d7f user32/tests: Fix a memory leak.
Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-07-16 21:28:45 +02:00
Alexandre Julliard 56dfe6708b user32: Retrieve the screen metrics from the monitor information.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-07-16 21:28:44 +02:00
Alexandre Julliard 1373e00400 user32: Return the full MINMAXINFO data from WINPOS_GetMinMaxInfo().
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-07-16 10:38:46 +02:00
Alexandre Julliard ae7acbfe4b user32: Remove FIXMEs from physical<->logical mapping functions.
Also group them with the other DPI functions.

Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-07-13 19:03:27 +02:00
Alexandre Julliard 766287ad6a server: Return the surface rect as top clipping rect.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-07-11 15:45:11 +02:00
Alexandre Julliard 85f81948de server: Store the surface rectangle in the server.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-07-11 15:44:15 +02:00
Alistair Leslie-Hughes 80205232d3 user32: Support SPI_S/GETAUDIODESCRIPTION in SystemParametersInfo.
Signed-off-by: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-07-06 20:51:26 +02:00
Alexandre Julliard b73a50a35e user32: Update RedrawWindow behavior with explicit desktop window handle.
Newer Windows versions behave differently.

Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-07-06 20:51:26 +02:00
Alexandre Julliard 9d3adf687b user32/tests: Remove a duplicate todo test.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-07-06 20:51:25 +02:00
Michael Stefaniuc 2d8edab66d user32: Use the more common ARRAY_SIZE spelling.
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-07-06 19:44:26 +02:00
Alexandre Julliard 8cfac3b218 server: Don't clip update regions to the desktop window.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-07-05 19:08:34 +02:00
Alexandre Julliard 3cd66cf7b1 user32: Don't copy window bits to or from the dummy surface.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-07-04 16:07:50 +02:00
Michael Stefaniuc 962b31c80b include: Add a generic available ARRAY_SIZE().
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-07-04 10:39:15 +02:00
Michael Müller efa6e6b9ef user32: Add semi-stub for GetAutoRotationState.
We cannot check the status value reliable since there is a good
chance that all the possible values will be returned from different
setups.

Signed-off-by: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-07-03 11:27:35 +02:00
Michael Stefaniuc 1694ab087a user32/tests: Use the available ARRAY_SIZE() macro.
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-06-28 18:27:20 +02:00
Michael Stefaniuc b03e800fe1 user32/tests: Avoid ARRAY_SIZE-like macros.
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-06-28 18:27:13 +02:00
Dmitry Timoshkov 8b864ae9aa user32: For an owner-drawn listbox without strings WM_MEASUREITEM still needs correct itemData.
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-06-28 14:10:44 +02:00
Dmitry Timoshkov 5c765431e2 user32: Fix the listbox sorting algorithm.
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-06-28 14:10:42 +02:00
Dmitry Timoshkov 18420c24c9 user32: Fix order of items passed in WM_COMPAREITEM data.
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-06-28 14:10:40 +02:00
Dmitry Timoshkov 35d902e476 user32/tests: Add some message tests for not an owner-drawn listbox.
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-06-28 14:10:38 +02:00
Dmitry Timoshkov e0d3dbcc01 user32/tests: Add a message test for an owner-drawn sorted listbox.
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-06-28 14:10:35 +02:00
Dmitry Timoshkov d92d91473c user32/tests: Add a test for WM_MEASUREITEM when inserting an item to an owner-drawn listbox.
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-06-28 14:10:33 +02:00
Michael Stefaniuc 20b43a9a93 user32/tests: Avoid a variable that holds an ARRAY_SIZE().
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-06-27 22:03:40 +02:00
Michael Stefaniuc e186f3ec26 user32/tests: Don't undefine ARRAY_SIZE().
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-06-27 22:03:36 +02:00
Fabian Maurer aee9fa0e55 user32: Always release menu item in EnableMenuItem.
Signed-off-by: Fabian Maurer <dark.shadow4@web.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-06-25 22:33:41 +02:00
Alexandre Julliard ea92a74133 user32: Check the DpiScalingVer registry key to enable DPI scaling.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-06-22 01:01:55 +02:00
Alexandre Julliard 4abc3d726f user32: Don't remap DPI for font size in points when saving.
Points already take DPI into account.

Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-06-21 14:20:57 +02:00
Zebediah Figura 7ae7fbcc91 user32/tests: Skip tests for window messages if we failed to receive foreground status.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-06-20 11:22:36 +02:00