Commit Graph

871 Commits

Author SHA1 Message Date
Nikolay Sivov 9002eae344 comctl32/listview: Initialize subitem text buffer before drawing each subitem.
Notification handler for LVN_GETDISPINFO is not guaranteed to touch text buffer.
When it doesn't, it can lead to already queried text to be reused for subitems.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=52583
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
(cherry picked from commit 4f1853c576)
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
2022-03-31 23:31:29 +02:00
Michael Stefaniuc f67ef3213c comctl32: Use wide-char string literals.
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-19 11:23:08 +01:00
Nikolay Sivov 564d5804b1 comctl32: Use wide-char string literals.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-16 17:51:30 +01:00
Eric Wheeler 578aae071b comctl32/listview: Add Get/SetSelectedColumn() support.
Selected column should be using different background color,
this patch does not implement this.

Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-07 21:07:52 +02:00
Nikolay Sivov c32720349c comctl32/listview: Do no alter custom draw text colors between notification stages.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-21 15:18:06 +02:00
Nikolay Sivov ab81945d65 comctl32/listview: Use case-insensitive compare in LVM_FINDITEM.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-17 00:04:13 +02:00
Nikolay Sivov f6802b7a31 comctl32/listview: Rename helper argument.
Rpcndr.h defines "small" as char.

Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-17 00:04:13 +02:00
Nikolay Sivov d92906249f comctl32/listview: Only apply horizontal offset when setting header position.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-24 11:31:40 +02:00
Nikolay Sivov 88a3a5842a comctl32/listview: Use wcsnicmp() instead of a local helper.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-12-09 23:47:46 +01:00
Nikolay Sivov 37c3810557 comctl32/listview: Fix LVM_GETITEM for out-of-range iSubItem case.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=44842
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-12-04 16:44:24 +01:00
Alistair Leslie-Hughes 7bacd7aa38 comctl32/listview: Don't report current item state in change notification when state change wasn't requested.
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>
2019-08-14 12:16:35 +02:00
Gabriel Ivăncescu a0a3d6161c comctl32/listview: 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
Alexandre Julliard e4e2e8e551 comctl32: Build with msvcrt.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-29 11:38:38 +02:00
Nikolay Sivov f1f7b7b509 comctl32/listview: Remove duplicated handle check.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-02-11 11:52:00 +01:00
Nikolay Sivov 5b397df631 comctl32/listview: Take care of scrolling offset when repositioning header.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-02-11 11:52:00 +01:00
Nikolay Sivov e6a91103a0 comctl32/listview: Fix NM_CLICK notification when clicking on checkboxes.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-12-05 22:33:43 +01:00
Nikolay Sivov 332062963f comctl32/listview: Simplify iterator helpers that can't fail.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-10-15 13:58:02 +02:00
Nikolay Sivov fae75d7961 comctl32/listview: Fix crashing in LVM_GETCOUNTPERPAGE for partially initialize lists.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-10-15 13:58:00 +02:00
Nikolay Sivov 39c9fe1d37 comctl32/listview: Skip earlier when creating iterator for empty lists.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-10-15 13:57:57 +02:00
Jim Mussared 4a8a8bddda comctl32/listview: Fix subitem invalidation.
It's wrong to offset by item position, columns could be reordered.

Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-09-24 22:41:29 +02:00
Fabian Maurer f6bd24fda6 comctl32/listview: Avoid duplicate LVN_ENDLABELEDIT notifications on focus change.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-08-27 10:57:39 +02:00
Fabian Maurer d8dd281652 comctl32/listview: Use mask to disable change notifications.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-08-27 09:34:00 +02:00
Alex Henrie 8e9ea7a8a1 comctl32/listview: Don't invalidate when new style is same as old.
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-05-18 23:42:44 +02:00
Nikolay Sivov 74d24b2197 comctl32/listview: Do not try to invalidate for invalid item indices.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-03-09 10:57:15 -06:00
Nikolay Sivov db2a3b7028 comctl32: Use ARRAY_SIZE() macro.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-02-27 09:16:27 +01:00
Nikolay Sivov 7625a1bb72 comctl32: Remove confusing comments.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-02-09 09:19:48 +01:00
Mark Jansen 71cf0a31d9 comctl32/listview: Include the checkbox in column width calculation.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-02-06 14:28:11 +01:00
Nikolay Sivov 6b2675dc8f comctl32/listview: Always return zero state mask for subitems.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-01-22 10:16:45 +01:00
Andrey Gusev 2000386baf comctl32: Fix a typo in comment.
Signed-off-by: Andrey Gusev <andrey.goosev@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-01-08 13:58:11 +01:00
Nikolay Sivov 9f019b7c76 comctl32/listview: Directly reset focused item on item count change.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-12-11 18:21:15 +01:00
Huw Davies da419d80b7 comctl32: Simplify handling of the marquee highlight.
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-11-14 16:14:16 +01:00
Nikolay Sivov ee7ddd1ed3 comctl32/listview: Pass WM_NCCREATE down to default procedure.
Problem analyzed by Vadim Druzhin <cdslow@mail.ru>.

Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-10-10 20:04:14 +02:00
Hugh McMaster 1d45250a58 comctl32/listview: Invalidate the focus rectangle when the control gets or loses focus.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-08-08 20:13:56 +09:00
Zebediah Figura 11c557b66c comctl32: Don't FIXME on handled cases.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-06-26 12:27:45 +02:00
Nikolay Sivov 65d64e15c8 comctl32/listview: Simplify a couple of conditions that are using LVFI_PARTIAL.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-05-22 13:45:09 +02:00
Nikolay Sivov 407a3c06fa comctl32/listview: Search through all items in LVFI_NEARESTXY mode.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-05-22 13:45:09 +02:00
Alex Henrie 5fe449307f comctl32/listview: When adding a scrollbar, update the other one.
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-05-18 13:37:57 +02:00
Nikolay Sivov 8ef79b023a comctl32/listview: Convert item text once when looking for insertion point.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-05-09 16:37:43 -05:00
Nikolay Sivov 791924a2e1 comctl32/listview: Remove internal autoarrange flag, it breaks positioning.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-05-03 17:15:35 +02:00
Alex Henrie 690022c61b comctl32: Return TRUE from LVM_REDRAWITEMS with bad indices.
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-02-20 17:23:22 +01:00
Nikolay Sivov fa846bdb27 comctl32/listview: Fix indentation warnings on GCC 6.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-15 18:31:09 +09:00
Nikolay Sivov 622a24046f comctl32/listview: Return earlier on allocation failure (Coverity).
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-04 09:08:51 -05:00
Nikolay Sivov e0361765ab comctl32/listview: Remove redundant check in LVM_DELETECOLUMN handler.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-01 05:30:18 -05:00
Nikolay Sivov 5faab43d34 comctl32/listview: Filter invalid indices when setting selection mark.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-01 05:30:17 -05:00
Michael Stefaniuc 65a2e59a78 comctl32: Avoid using CopyRect() on RECT structs.
Signed-off-by: Michael Stefaniuc <mstefani@redhat.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-06-24 21:10:32 +09:00
Andrey Gusev ee19a56a94 comctl32: Fix a typo in comment.
Signed-off-by: Andrey Gusev <andrey.goosev@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-05-27 16:21:59 +09:00
Nikolay Sivov 3febb46237 comctl32/listview: Hit test data pointer is never NULL when sending LVN_ITEMACTIVATE.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-05-17 11:50:01 +09:00
Nikolay Sivov f4542cf7d7 comctl32/listview: Simplify setting redraw mode flag.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-05-02 18:31:08 +09:00
Michael Stefaniuc 903ea19122 comctl32: Use SetRect() instead of open coding it.
Signed-off-by: Michael Stefaniuc <mstefani@redhat.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-04-29 23:23:36 +09:00
Nikolay Sivov f5ca9b9104 comctl32/listview: Handle DPA_SetPtr() failure (Coverity).
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-04-08 23:24:53 +09:00