Commit Graph

3200 Commits

Author SHA1 Message Date
Rémi Bernon 96f0d1ae7d user32/tests: Update input test result for w1064v1809.
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-10-23 21:54:34 +02:00
Paul Gofman 2ac268436b user32: Fix coords in WINDOWPOS for WM_NCCALCSIZE sent from SetWindowPos().
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=40777
Signed-off-by: Paul Gofman <gofmanp@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-10-21 20:39:15 +02:00
Matteo Bruni aaecc40464 user32: Don't go past the end of the animated cursor data.
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-10-01 09:43:27 +02:00
Brendan Shanks c8dbb0c4c1 user32: Fix behavior of GetWindowInfo(0, NULL).
Windows doesn't do a NULL check on the WINDOWINFO pointer.

Signed-off-by: Brendan Shanks <bshanks@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-09-24 11:34:18 +02:00
Brendan Shanks 38dd9faf96 user32/tests: Test GetWindowInfo error conditions and incorrect cbSize.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=47783
Signed-off-by: Brendan Shanks <bshanks@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-09-24 11:33:55 +02:00
Zebediah Figura f5f633e712 server: Validate the filter window handle in get_message.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-09-18 21:55:16 +02:00
Zebediah Figura 7c768d9052 user32: Return -1 from peek_message() on error.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-09-18 21:55:16 +02:00
Zhiyi Zhang ca39b1c22d user32: Don't report mirrored slave monitors in EnumDisplayMonitors.
Mirrored slave monitors don't get enumerated by EnumDisplayMonitors.
For example, if two monitors are in mirrored mode, only one of them
is reported by EnumDisplayMonitors.

Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-09-16 22:58:41 +02:00
Alex Henrie 5644a10e9d user32: Avoid dead initialization (scan-build).
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-09-16 10:14:12 +02:00
Rémi Bernon 85d8d13904 user32: Add parameter validation for RegisterRawInputDevices.
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-09-12 22:47:45 +02:00
Rémi Bernon d8b222548d user32/tests: Add RegisterRawInputDevices parameter validation tests.
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-09-12 22:47:45 +02:00
Zhiyi Zhang a3948047dd user32/tests: Fix some msg test failures.
These test failures sometimes happen on some TestBots.

Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-09-11 17:03:37 +02:00
Zhiyi Zhang afdf14084e user32/tests: Remove an extraneous check.
Remove a check for SetFocus() return value. It's useless and SetFocus()
returns NULL because there is no previous focus window, skipping
following tests unintentionally. And cleanup some code.

Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-09-03 20:42:56 +02:00
Paul Gofman 480bae108c user32: Return correct showCmd from GetWindowPlacement() for other process window.
Fixes black screen in SWTOR after window minimize / maximize or
switching window in full screen mode.

Signed-off-by: Paul Gofman <gofmanp@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-08-26 22:39:50 +02:00
Zhiyi Zhang 8f45d9a991 user32: Wait for graphics driver to be ready in EnumDisplayDevicesW.
It's possible that EnumDisplayDevicesW gets called before graphics driver is loaded.

Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-08-21 14:18:49 +02:00
Huw Davies ef26257f6f user32: Don't query the nonclient metrics unless the font info is required.
This is an optimization that is particularly helpful for scrollbar code.

Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-08-13 20:34:18 +02:00
Zebediah Figura 5b39ef03d6 user32: Factor out add_device().
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-07-04 21:14:54 +02:00
Zebediah Figura e1d6146fca user32: Introduce and use an array_reserve() helper.
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-07-04 21:14:54 +02:00
Zebediah Figura 2ed141d680 user32/tests: Test opening raw input devices.
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-07-03 23:44:24 +02:00
Zhiyi Zhang 95be042be3 user32: Cache monitor information.
Multiple applications call EnumDisplayMonitors very frequently.
Reduce most of the overhead by caching.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=47431
Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-07-01 20:42:42 +02:00
Zhiyi Zhang d4115033ef user32: Specify enumerator when calling SetupDiGetClassDevsW.
Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-07-01 20:42:42 +02:00
Nikolay Sivov a476ae1991 server: Use KEYEVENTF_UNICODE mode only when virtual key code was not specified.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-07-01 14:41:39 +02:00
Nikolay Sivov 0b2fbab179 user32/tests: Add another test for KEYEVENTF_UNICODE mode.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-07-01 14:41:37 +02:00
Nikolay Sivov 4b13f859f7 user32/tests: Use SendInput() directly.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-07-01 14:41:36 +02:00
Zhiyi Zhang 23b28323cb winex11.drv: Use generic GetMonitorInfo.
Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-06-25 13:22:17 +02:00
Zhiyi Zhang 074abfe097 winex11.drv: Use generic EnumDisplayMonitors.
Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-06-25 13:22:17 +02:00
Zhiyi Zhang 8789742936 user32: Avoid a possible race.
Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-06-24 13:01:58 +02:00
Zhiyi Zhang db839e0f1a user32: Move EnumDisplayDevicesA/W to sysparams.c.
Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-06-24 13:01:58 +02:00
Huw Davies 3f9c5d7682 user32: Don't access a potentially uninitialized padded_border.
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-06-21 22:51:55 +02:00
Gabriel Ivăncescu 501778aa08 user32/edit: Get rid of useless casts.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-06-14 10:26:25 +02:00
Gabriel Ivăncescu b95bc84273 user32/listbox: Fix mouse wheel scrolling for multi-column listboxes.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=22253
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-06-14 10:26:18 +02:00
Zhiyi Zhang a985771f83 user32: Implement EnumDisplayDevicesW().
Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-06-13 08:21:00 +02:00
Zhiyi Zhang 8f5fbfeb42 user32: Improve EnumDisplayDevicesW stub.
Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-06-13 08:21:00 +02:00
Zhiyi Zhang eada617881 winex11.drv: Initialize adapter registry data.
Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-06-13 08:20:01 +02:00
Zhiyi Zhang 52a3d5db48 winex11.drv: Add Xinerama display device handler.
Display device handlers are used to initialize the display device
registry data. Different handlers can be implemented according to
the defined interface, for example, via Xinerama or XRandR.
With those registry data, EnumDisplayDevices, EnumDisplayMonitors
and GetMonitorInfo can be built on top of it.

Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-06-13 08:09:55 +02:00
Zhiyi Zhang 1caf992be3 user32/tests: Test restore window messages.
Mostly to show that there is a WM_ACTIVATE message
before WM_SYSCOMMAND SC_RESTORE and after WM_WINDOWPOSCHANGED

The Alt+Tab test won't work on non-Windows because the emulated key inputs
doesn't reach the host, unless we required user interaction.

Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-06-10 19:42:38 +02:00
Sven Baars 381c4e7b66 user32: Fix some leaks on error path (Coverity).
Signed-off-by: Sven Baars <sven.wine@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-31 22:31:33 +02:00
Gabriel Ivăncescu f748d6794d user32/listbox: Don't try to paint non-visible items for multi-column 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>
2019-05-30 21:53:26 +02:00
Alexandre Julliard d5a372abbb include: Move inline assembly definitions to a new wine/asm.h header.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-14 13:45:07 +02:00
Francois Gouget 1631f69022 user32: Make WIN_SetOwner() static.
Signed-off-by: Francois Gouget <fgouget@free.fr>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-09 08:20:31 -05:00
Louis Lenders 34408796b9 user32: Added GetPointerType stub.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=45765
Signed-off-by: Vijay Kiran Kamuju <infyquest@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-04-29 18:46:25 +02:00
Akihiro Sagawa e78d7b08fe user32: Make the second parameter of get_font_margins const.
Signed-off-by: Akihiro Sagawa <sagawa.aki@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-04-25 17:28:10 +02:00
Vlad Bespalov fd5f03035c user32: Make LoadString[AW] patchable.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=46626
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=45199
Signed-off-by: Vlad Bespalov <vlad.botanic@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-04-24 22:24:24 +02:00
Akihiro Sagawa 1b91c113ae user32: Fix edit control margins in CJK font case.
Signed-off-by: Akihiro Sagawa <sagawa.aki@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-04-22 11:16:13 +02:00
Akihiro Sagawa 491b061123 user32/tests: Add more margin tests in CJK font case.
In WM_SETFONT with a combination of CJK font and non-CJK charset,
Unicode version control uses ABC width for margins,
while ANSI version one uses EC_USEFONTINFO width for margins.

Signed-off-by: Akihiro Sagawa <sagawa.aki@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-04-22 11:16:04 +02:00
Akihiro Sagawa f3dc99c8b1 user32: Implement WM_SETFONT margins in the CJK case.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=46685
Signed-off-by: Akihiro Sagawa <sagawa.aki@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-04-19 12:13:36 +02:00
Akihiro Sagawa c8c29eebc7 user32/tests: Use calculated WM_SETFONT margins in the CJK case.
Signed-off-by: Akihiro Sagawa <sagawa.aki@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-04-19 12:13:36 +02:00
Akihiro Sagawa 6b2c2d39bb user32/tests: Remove win9x workarounds in margin tests.
Signed-off-by: Akihiro Sagawa <sagawa.aki@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-04-19 12:13:36 +02:00
Akihiro Sagawa a4560e0135 user32/tests: Use GREEK_CHARSET in margin tests to avoid Associated Charset feature.
Due to Associated Charset feature, we currently use Chinese typeface in the
test in zh_CN locale. For consistency with another locale, we should avoid
the fature in tests.

Signed-off-by: Akihiro Sagawa <sagawa.aki@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-04-19 12:13:36 +02:00
Zebediah Figura 8d251a1dd1 user32: Use GetSysColorBrush().
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-04-19 12:01:57 +02:00
Akihiro Sagawa c5823e9cac user32: Implement EC_USEFONTINFO margins in the CJK case.
Signed-off-by: Akihiro Sagawa <sagawa.aki@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-04-11 19:29:42 +02:00
Akihiro Sagawa 8ba6c1f2fc user32/tests: Use calculated EC_USEFONTINFO margins in the CJK case.
Signed-off-by: Akihiro Sagawa <sagawa.aki@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-04-11 19:29:42 +02:00
Sebastian Lackner c02407e9a3 user32: Implement CWF_CREATE_ONLY flag for CreateWindowStation.
Signed-off-by: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-04-08 09:55:23 +02:00
Michael Stefaniuc 516dc52401 user32: Avoid using the comma operator.
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-04-05 22:16:31 +02:00
Alexandre Julliard 5aa83bee08 user32: Add a dummy _wassert implementation to avoid a Mingw build issue.
_wassert references __imp__MessageBoxW@16 which causes a duplicate
definition of MessageBoxW.

Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-03-27 16:51:26 +01:00
Akihiro Sagawa 3e61c7127e user32/tests: Tests default margin size with various font face.
Signed-off-by: Akihiro Sagawa <sagawa.aki@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-03-18 22:07:04 +01:00
Akihiro Sagawa 11f0597074 user32/tests: Add Unicode version tests for Edit control margins.
Signed-off-by: Akihiro Sagawa <sagawa.aki@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-03-18 22:06:46 +01:00
Akihiro Sagawa c29f580349 user32/tests: Move the default margin size tests into a separate function.
Signed-off-by: Akihiro Sagawa <sagawa.aki@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-03-18 22:06:30 +01:00
Akihiro Sagawa 2b6f45066b user32: Fix minimum control size conditions when using EC_USEFONTINFO.
Signed-off-by: Akihiro Sagawa <sagawa.aki@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-03-18 22:06:28 +01:00
Akihiro Sagawa 71523aeae9 user32/tests: Use EM_SETMARGINS to test EC_USEFONTINFO margins.
Tests assume that WM_SETFONT margins are equal to EM_SETMARGINS with
EC_USEFONTINFO ones. This isn't true when font's charset is CJK.

Signed-off-by: Akihiro Sagawa <sagawa.aki@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-03-18 22:06:19 +01:00
Akihiro Sagawa bde955f12b user32/tests: Skip margin tests if a font for the target charset isn't available.
Signed-off-by: Akihiro Sagawa <sagawa.aki@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-03-18 22:06:01 +01:00
Francois Gouget c530d4943f user32/tests: Remove a space before a '\n'.
Signed-off-by: Francois Gouget <fgouget@free.fr>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-03-12 20:32:51 +01:00
Andrew Eikum d1b19a2d0a user32: GetRawInputDeviceInfo uses characters for RIDI_DEVICENAME size.
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-03-06 18:28:20 +01:00
Nikolay Sivov c2f4e2b338 user32: Make GetWindowLong() fail for some values on 64-bit.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-03-01 17:48:26 +01:00
Nikolay Sivov d00ed8e7b9 user32: Do not touch some of the values on 64-bit with SetWindowLong().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-03-01 17:48:26 +01:00
Gabriel Ivăncescu 7a1b96f6b7 user32/listbox: Implement LBS_NODATA for multi-selection listboxes.
Use a byte array to store selection state of items, since we don't need any
other data for LBS_NODATA multi-selection listboxes. This improves memory
usage dramatically for large lists, and performance boosts are nice too.

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-03-01 09:37:52 +01:00
Gabriel Ivăncescu 80ff468748 user32/listbox: Use a helper to get the size of an item.
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-03-01 09:37:49 +01:00
Huw Davies 0092a4bb19 user32/listbox: Use helper functions for item initialization.
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-03-01 09:37:44 +01:00
Gabriel Ivăncescu 18a6e37ce1 user32/listbox: Rewrite FindString to use helpers and avoid the macro.
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-03-01 09:37:42 +01:00
Gabriel Ivăncescu a01b90d382 user32/listbox: Use a helper to set item data by index.
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-03-01 09:37:39 +01:00
Vijay Kiran Kamuju 7a6b00dc25 user32: Add DlgDirList wildcard checks.
Based on a patch from Christian Lupien.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=8226
Signed-off-by: Vijay Kiran Kamuju <infyquest@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-02-27 22:21:17 +01:00
Zhiyi Zhang 741b673bc9 user32/tests: Add more EnumDisplayDevices tests.
Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-02-26 20:56:30 +01:00
Gabriel Ivăncescu 7edbf1c8e5 user32/listbox: Use is_item_selected in GetSelCount and GetSelItems.
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-25 12:51:21 +01:00
Gabriel Ivăncescu 20c0dda050 user32/tests: Test negative counts in LB_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-21 16:04:07 +01:00
Gabriel Ivăncescu 8a9ff9fb13 user32/listbox: Implement LBS_NODATA for single-selection listboxes.
The LBS_NODATA style's purpose is to drastically improve performance and
memory usage on very large lists, since they should function as virtual
lists. Thus, don't store any data for single-selection listboxes (descr->items
always NULL).

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=32374
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-21 16:04:03 +01:00
Gabriel Ivăncescu 9f58653421 user32/listbox: Move the item data removal into a separate function.
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-21 16:04:00 +01:00
Gabriel Ivăncescu ff1ebccdd0 user32/listbox: Move the item data insertion into a separate function.
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-21 16:03:56 +01:00
Gabriel Ivăncescu 9b6d9cb8ae user32/listbox: Use a helper to set item height by index.
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-21 16:03:53 +01:00
Gabriel Ivăncescu 4a27ea8494 user32/listbox: Use a helper to retrieve item height by index.
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-21 16:03:50 +01:00
Zebediah Figura 73b50a24e7 user32: Replace the minimize box with a restore box when the window is minimized.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-02-20 09:19:17 +01:00
Zebediah Figura 50bc18201d user32: Move iconic windows as their border instead of their icon.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-02-20 09:19:15 +01:00
Zebediah Figura 8dade1bc86 user32: Get rid of icon titles.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-02-19 20:51:19 +01:00
Zebediah Figura c45f60450a user32: Allow clicking the restore and maximize boxes for on minimized windows.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-02-19 20:51:19 +01:00
Zebediah Figura 3765b3307e user32: Paint title bars for minimized windows.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-02-19 20:51:19 +01:00
Zebediah Figura 04707a342f user32: Correctly place minimized windows.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-02-19 20:51:19 +01:00
Zebediah Figura 73684e84b6 user32: Reimplement ArrangeIconicWindows() using minimized metrics.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-02-19 20:51:19 +01:00
Zebediah Figura 23f26266ef user32: AdjustWindowRect() shouldn't ignore WS_MINIMIZE.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-02-19 20:51:19 +01:00
Zebediah Figura 118f333ac2 user32: Use the C[XY]MINIMIZED rather than C[XY]ICON size for minimized windows.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-02-19 20:51:19 +01:00
Zebediah Figura ed0eaecf17 user32: Correctly calculate the client size of a minimized window.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-02-19 20:51:19 +01:00
Zebediah Figura 119e215e3e user32: SetWindowPos() shouldn't change the client rect of a minimized window.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-02-19 20:51:19 +01:00
Sebastian Lackner 5ff6a11697 server: Improve handling of cursor position clipping for empty rectangle.
Based on a patch by Kevin Buhr.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=38791
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=42631
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-02-18 16:04:03 +01:00
Zebediah Figura 0bff174335 user32/tests: Add tests for ArrangeIconicWindows().
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-02-18 16:02:17 +01:00
Zebediah Figura 16c054c314 user32/tests: Add tests for maximizing and minimizing MDI child windows.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-02-18 16:02:14 +01:00
Zebediah Figura 2ebfe4c2fe user32/tests: Add tests for maximizing and minimizing child windows.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-02-18 16:02:12 +01:00
Zebediah Figura 361de88c4f user32/tests: Add tests for maximizing and minimizing owned windows.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-02-18 16:02:10 +01:00
Zebediah Figura ed0568a506 user32/tests: Add tests for GetWindowPlacement() and SetWindowPlacement().
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-02-18 16:02:08 +01:00
Huw Davies 6a421988df user32/listbox: Remove some unnecessary differences to the comctl32 version.
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-02-15 15:08:30 +01:00
Gabriel Ivăncescu 0beea9f474 user32/listbox: Send LB_RESETCONTENT from RemoveItem rather than DeleteItem.
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:22 +01:00
Gabriel Ivăncescu 84ac6eebaa user32/listbox: Use a helper to set the selected item state.
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:19 +01:00
Gabriel Ivăncescu e0e939501f user32/listbox: Use is_item_selected in more places.
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:17 +01:00
Gabriel Ivăncescu 8ffe69d705 user32/listbox: Use a helper to retrieve item string by index.
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:14 +01:00
Gabriel Ivăncescu 0e3e81d345 user32/listbox: Use a helper to retrieve item data by index.
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:12 +01:00
Gabriel Ivăncescu 3179e48f69 user32/tests: Test changing the selection styles after listbox creation.
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:10 +01:00
Gabriel Ivăncescu 076fa5f3ed user32/listbox: Use descr->selected_item for single-selection listboxes when checking selection.
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:07 +01:00
Gabriel Ivăncescu 087304f117 user32/listbox: Repaint the old selected item after setting the item selection.
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:04 +01:00
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