Commit Graph

2998 Commits

Author SHA1 Message Date
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