Commit Graph

3204 Commits

Author SHA1 Message Date
Zebediah Figura 7473db002e user32/tests: Remove unnecessary uses of CREATE_SUSPENDED.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-12-27 18:01:00 +01:00
Rémi Bernon 6c47355006 user32/tests: Return MA_ACTIVATE to WM_MOUSEACTIVATE on main test window.
This shows that one of test_SetWindowPos is broken on Wine, and needs
to be fixed. It was previously fixed by some change in DefWindowProcA,
introduced in 71d35d8940 but that was a
unexpected side effect.

Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-12-26 21:12:28 +01:00
Rémi Bernon f6d671c343 user32/tests: Move TEST_MOUSEACTIVATE to test_defwinproc.
This test is actually testing the reply from DefWindowProcA, as the
window it was sent to is not handling this particular message.

Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-12-26 21:12:22 +01:00
Zhiyi Zhang 59e52108d5 user32/tests: Mark some GetDeviceCaps() tests as todo on Wine.
GetDeviceCaps(hdc, DESKTOPHORZRES/DESKTOPVERTRES) on Windows reports
the primary desktop, but on Wine it reports the virtual screen.

Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-12-24 11:50:51 +01:00
Francois Gouget fe18edd6f8 user32: Fix the spelling of a comment.
Signed-off-by: Francois Gouget <fgouget@free.fr>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-12-13 09:59:03 +01:00
Nikolay Sivov 832b748b06 user32/listbox: Update caret index on LB_SETSEL.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=47459
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-12-11 21:51:28 +01:00
Nikolay Sivov b37b3f00a6 user32/listbox: Scroll to specified caret index.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-12-11 21:51:28 +01:00
Francois Gouget cca965d94e user32/tests: Fix the spelling of an ok() message.
Signed-off-by: Francois Gouget <fgouget@free.fr>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-12-09 23:47:46 +01:00
Francois Gouget ba1aa24378 user32: Fix the spelling of a TRACE() message.
Signed-off-by: Francois Gouget <fgouget@free.fr>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-12-09 23:47:46 +01:00
Francois Gouget 6ccd78e35f user32/tests: Avoid a couple of unneeded strlen() calls.
Note that DeviceString is an array field and thus cannot be NULL.

Signed-off-by: Francois Gouget <fgouget@free.fr>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-12-09 23:47:46 +01:00
Francois Gouget 3b91403e41 user32/tests: Avoid an unneeded lstrlenA() call.
Note that ptr may be NULL (see ok() check a few lines up).

Signed-off-by: Francois Gouget <fgouget@free.fr>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-12-09 23:47:46 +01:00
Francois Gouget e248170e30 user32/tests: Avoid an unneeded (&commented out) strlen() call.
Note that pathBuffer is an array and thus cannot be NULL.

Signed-off-by: Francois Gouget <fgouget@free.fr>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-12-09 23:47:46 +01:00
Alexandre Julliard aa82739331 user32: Forward string calls to kernelbase.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-12-04 16:03:48 +01:00
Zhiyi Zhang 11065839f5 user32/tests: Use a higher resolution in test_ChangeDisplaySettingsEx().
640x480 is not supported on some Windows 10 versions.

Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-12-04 09:35:06 +01:00
Zhiyi Zhang dbab697da8 user32/tests: Test cursor clip rectangles in per-monitor aware context.
So the tests don't fail in HiDPI environment.

Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-12-04 09:34:59 +01:00
Zhiyi Zhang 4fc651db92 user32/tests: Import functions if possible.
Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-12-04 09:34:40 +01:00
Derek Lesho 11ef39af39 users/tests: Test scan code prefix for MAPVK_VK_TO_VSC_EX.
Signed-off-by: Derek Lesho <dlesho@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-12-02 22:02:56 +01:00
John Alway 35919eb6a1 user32/tests: Add a test for combo resizing from smaller item height.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-27 22:05:49 +01:00
Nikolay Sivov ad6a8d50e8 user32/combo: Force minimal item height.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-27 22:05:44 +01:00
Nikolay Sivov 722f4fc084 user32/combo: Remove redundant argument from border painting helper.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-27 22:05:40 +01:00
Nikolay Sivov 76ef090f3d user32/combo: Remove unnecessary argument from button painting helper.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-27 22:05:36 +01:00
Nikolay Sivov 14e074b2a4 user32/combo: Remove redundant argument from text height helper.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-26 15:38:33 +01:00
Nikolay Sivov 13d7cad9de user32/combo: Simplify child controls position update helper.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-26 15:38:33 +01:00
Nikolay Sivov b563ea018b user32/combo: Simplify rectangles sizing helper.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-26 15:38:32 +01:00
Francois Gouget c56116aa37 user32/test: Start the AdjustWindowRectExForDpi() from a known state.
rect and rect2 have been modified by the previous test by the time we
get to AdjustWindowRectExForDpi(). This makes interpreting the traces
harder in case of a failure. So reset them to the same starting state
as for the AdjustWindowRectEx() test.

Signed-off-by: Francois Gouget <fgouget@free.fr>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-21 21:01:33 +01:00
Rémi Bernon fdfc602284 user32/tests: Add optional messages to test sequences.
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-13 09:31:59 +01:00
Rémi Bernon c1b8deeff0 user32/tests: Wait longer for injected mouse event to take effect.
Also rework the wait loop a bit, the delay was weird.

Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-13 09:31:59 +01:00
Rémi Bernon 0779443518 user32/tests: Synchronize with other thread between SendMessage calls.
This sometimes fails on Windows because we check the queue status before
the other thread second call to SendMessage has been made (or received).

Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-13 09:31:59 +01:00
Rémi Bernon 19c107335e user32/tests: Make the test_PeekMessage3 timer fire less often.
On Windows it sometimes fires again before we get the expected WM_USER
message and/or before the end of the test where we don't expect any more
message. We cannot fire it only once because Wine doesn't pass the tests
yet and it would block otherwise, but fire it less often helps the test
to pass on Windows.

Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-13 09:31:58 +01:00
Rémi Bernon 1450924e59 user32/tests: Ignore WM_WININICHANGE message in test sequences.
Tests sometimes fail because of an unexpected 0x001a message.

Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-13 09:31:58 +01:00
Rémi Bernon 8134b8b6f5 user32/tests: Close event at the end of the test_WaitForInputIdle test.
There's some random timeout failures on Windows VMs in this test, this
is probably not going to fix them, but cleaning up is not going to hurt.

Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-13 08:44:41 +01:00
Rémi Bernon 41094ed5ba user32/tests: Synchronize with the SendMessageTimeout thread.
We wait a bit after starting the thread, but sometimes the test fails
because we didn't wait long enough. This synchronizes the Sleep and the
SendMessageTimeout calls.

Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-13 08:42:13 +01:00
Rémi Bernon 843cadb728 user32/tests: Tweak test result for w1064v1809.
Seems like the wparam is not always as expected.

Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-13 08:41:56 +01:00
Rémi Bernon b6f7c0a492 user32/tests: Increase test_timers count tolerance on Windows.
Sometimes the tests fail on w1064v1809 with count equals to 54, or 53.

Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-13 08:41:50 +01:00
Piotr Caban cfa9334125 user32: Include png.h only if SONAME_LIBPNG is defined.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-07 22:20:22 +01:00
Zhiyi Zhang b95c4c229c user32/tests: Fix monitor test failures on some systems.
On some systems, the monitor name may not be Default_Monitor,
so check format instead.

Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-07 15:20:56 +01:00
Zhiyi Zhang 6b2b004c0c user32/tests: Fix test failures on multiple monitor setup.
The desktop window rectangle is the same as that of primary monitor
for compatibility reasons. It equals to virtual screen rectangle only
when there are no more than two active and non-mirrored monitors.

Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-07 15:20:50 +01:00
Fabian Maurer 244268589e user32/edit: In EM_POSFROMCHAR return correct position for empty lines.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=47305
Signed-off-by: Fabian Maurer <dark.shadow4@web.de>
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-07 14:09:51 +01:00
Rémi Bernon 766ee1692e user32/tests: Flush remaining events before starting a new sequence.
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-06 23:43:13 +01:00
Rémi Bernon ad5ca21de6 user32/tests: Add optional flags for alternative sequence on w1064v1809.
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-06 23:43:05 +01:00
Rémi Bernon e83486062d user32/tests: Skip tests expecting ascii VK wparam on non-us keyboards.
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-06 23:42:50 +01:00
Rémi Bernon 32b3e502d9 user32/tests: Update SetActiveWindow(0) test result for w1064v1809.
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-06 23:42:44 +01:00
Rémi Bernon 37fe4b0bab user32/tests: Add some wparam mask to message sequences for w1064v1809.
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-06 23:42:33 +01:00
Huw Davies ae7531f673 user32: Remove unused GetAsyncKeyState() driver entry.
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-06 16:04:03 +01:00
Rémi Bernon 9099b9843f user32/tests: Wait and flush messages after window creation.
The window created in the separate thread in test_Input_mouse sometimes
fails to catch the mouse input in time. Waiting and flushing the initial
messages seems to make the issue harder to reproduce.

Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-05 16:46:59 +01:00
Alistair Leslie-Hughes 71d35d8940 user32: WM_MOUSEACTIVATE should return MA_NOACTIVATE for WM_LBUTTONDOWN/HTCAPTION message.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=47945
Signed-off-by: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-05 16:43:28 +01:00
Andrew Eikum 6d7828e8df user32: Support RIDI_PREPARSEDDATA in GetRawInputDeviceInfo.
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-04 22:43:01 +01:00
Andrew Eikum 0b7f4b40cf user32: Clean up GetRawInputDeviceInfo.
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-04 22:43:01 +01:00
Andrew Eikum 4a58d67106 user32/tests: Move rawinput tests into input.c.
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-04 22:43:01 +01:00
Fabian Maurer fbec0ba9ee user32/combo: Properly handle WM_CTLCOLOR* messages.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-04 12:15:42 +01:00
Fabian Maurer 2feab9b99d user32/tests: Add combo tests for WM_CTLCOLOR*.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-04 12:15:38 +01:00
Rémi Bernon 4928f5134a user32/tests: Skip some tests with inconsistent results with non-us kbd.
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-10-23 21:54:44 +02:00
Rémi Bernon dd497ffcdd user32/tests: Do not expect ToAscii with 'A' vkey to return 'a' on non-us keyboards.
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-10-23 21:54:41 +02:00
Rémi Bernon c56c76e61e user32/tests: Do not expect char vkey to return the same char everywhere.
Results may depend on the keyboard layout, and the tests were failing on
VMs with non-us layouts.

Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-10-23 21:54:38 +02:00
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