204 Commits
Author SHA1 Message Date
Hermès Bélusca-Maïto 6cb1394bb1 [COMCTL32][COMCTL32_WINETEST] Import wine implementation for PSN_QUERYINITIALFOCUS (#9272)
Import patch from wine-9.15: wine-mirror/wine@786bb3b
```
comctl32: Add handling for PSN_QUERYINITIALFOCUS in prop.c.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=54862

wine commit id 786bb3b993f7fe195adb732271df912286c5bfe7 by Jacob Czekalla <[email protected]>
```
2026-07-24 23:04:41 +02:00
Hermès Bélusca-Maïto 8b5e6383f2 [COMCTL32] Pass a couple of window messages to the active page of property sheets (#9239)
CORE-20681

Send `WM_ACTIVATE` and `WM_ACTIVATEAPP` to the property sheet active page.
And do the same with `WM_ENABLE`, `WM_QUERYENDSESSION`, `WM_ENDSESSION`,
and `WM_DEVICECHANGE`, after sending them to the tab control first.

Similar in spirit to commit d09c3d0af8.
2026-07-09 20:32:29 +02:00
Hermès Bélusca-Maïto 3b157605bc [COMCTL32] Pass WM_SYSCOLORCHANGE/WM_DISPLAYCHANGE/WM_WININICHANGE also to the property sheet tab control (#9239)
Addendum to commit d09c3d0af8.

CORE-13212, CORE-20681
2026-07-09 20:32:13 +02:00
Katayama Hirofumi MZ 19b19ec305 [USER32][COMCTL32] Edit control: Fix alignment mask (#9115)
Based on JIRA user I_Kill_Bug's "Edit Alignment.patch".
JIRA issue: CORE-20631
- Add (ES_LEFT | ES_RIGHT | ES_CENTER) flags to
  style_change_mask variable.
2026-06-09 13:52:46 +09:00
Doug LyonsandJose Carlos Jesus 1dc2e6de72 [USER32][COMCTL32] EDIT control: Fix vertical scrolling past line number 32767 (#8930)
CORE-19305

Change how WM_VSCROLL is handled to allow higher line counts to be passed to EDIT_WM_VScroll.
Use the GetScrollInfo() function to determine vertical scroll position and pass this to EDIT_WM_VScroll.
---------
Co-authored-by: Jose Carlos Jesus <[email protected]>
2026-05-06 19:11:58 -05:00
Timo Kreuzer f2c094caf3 [LIBWINE] Fix debug output synchronization
Previously the debug macros printed file/line, class and message separately, which resulted in possible intermingling with other debug messages, e.g. from rosautotest. This caused random parse errors for testman.
This is fixed by using a temp buffer for the prefix in rosfmt_default_dbg_vlog and then calling vDbgPrintExWithPrefix. Also make the __WINE_DPRINTF macro identical between GCC and MSVC.

See ROSTESTS-178
2026-05-06 08:34:12 +00:00
Doug Lyons 16a65a0df2 [NTUSER][COMCTL32] Fix ListBox background color setting (#8665)
CORE-20433

The brush returned from WM_CTLCOLORLISTBOX message is ignored when painting the background. This bug can be found at https://bugs.winehq.org/show_bug.cgi?id=2948

Fixed by handling backgound painting in LISTBOX_PaintItem and LISTBOX_Paint functions.

Patch by @I_Kill_Bugs
2026-03-22 22:38:36 +01:00
Katayama Hirofumi MZ 026a53c076 [USER32][COMCTL32] EDIT control: Use ImmIsIME instead of IS_IME_HKL (#8652)
Prepare to support CTF IMEs.
The IS_IME_HKL macro cannot
detect CTF IME.
JIRA issue: CORE-1926
- Use ImmIsIME instead of
  IS_IME_HKL to check whether
  the keyboard is IME.
2026-02-01 18:51:37 +09:00
Katayama Hirofumi MZ abd201bfa2 [USER32][COMCTL32] ComboBox: Don't check owner window on creation (#8647)
Reduce imm32:himc failures.
JIRA issue: CORE-19268
- Don't check lphc->owner nor
  WS_VISIBLE on ComboBox creation.
2026-02-01 07:24:27 +09:00
Emanuele Luca Cerea 85015238e9 [COMCTL32][WINESYNC] Fix keyboard-driven item selection (#8437)
CORE-20210

comctl32/listview: Do not consider key state when navigating with alphanumeric keys.
For example holding down Shift and using letter keys shouldn't produce
a selection range.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=58275
Signed-off-by: Nikolay Sivov <[email protected]>
wine commit id 3b06cc75849240a6ba4f6d0435710f152e2188e5 by Nikolay Sivov <[email protected]>
2025-11-15 16:19:12 +01:00
Petru Răzvan 69ddd4e74b [WINESYNC][COMCTL32] Fix Exception in PROPSHEET_DoCommand (#7943)
CORE-20036

Import Wine commit:
comctl32: Avoid segfault in PROPSHEET_DoCommand when psInfo is NULL.
wine commit id affd5177bba907a015d1c6fc8ac9970731125268 by Yuri Hérouard <[email protected]>
2025-10-26 18:53:59 +01:00
Doug Lyons 8e6fbe0c90 [NTUSER][COMCTL32] Fix garbage displayed at bottom of listbox.c (#8316)
CORE-20062
@I_Kill_Bugs fix for rect.bottom in LISTBOX_Paint function.
2025-08-20 11:34:44 -05:00
Whindmar Saksit 58276e81ee [COMCTL32] ListView must update header font if it deletes the old font (#8287)
A bug fix for PR #7783
2025-08-03 23:33:00 +02:00
Dmitry Borisov b5f763447c [COMCTL32] Fix product verison (#7854)
Specify the correct comctl version to fix tooltips in SIV software.
2025-06-18 20:54:44 +02:00
Katayama Hirofumi MZ 62ad2403a0 [USER32][COMCTL32] Edit: Optimize EDIT_SetCaretPos for speed (#8113)
The caret move on IME was slow until this PR.
JIRA issue: CORE-19268
- Don't use ImmIsIME but use IS_IME_HKL(hKL) in
  EDIT_SetCaretPos function. This change improves
  the caret speed.
- Prohibit display of composition window for Korean
  in the handling of WM_IME_SETCONTEXT and
  WM_IME_STARTCOMPOSITION, because Korean
  doesn't want it.
2025-06-14 20:26:05 +09:00
Hervé Poussineau d09c3d0af8 [COMCTL32] Pass WM_SYSCOLORCHANGE/WM_DISPLAYCHANGE/WM_WININICHANGE to property pages
Property pages may want to react on such events, like 'Font' or 'Layout' pages
in console.dll

CORE-13212
2025-06-02 21:23:30 +02:00
Doug Lyons a2dd6efcb4 [COMCTL32] Fix StatusBar left border frame missing (#7979)
Remove flag BF_MIDDLE from DrawEdge function.

CORE-19854
2025-05-14 17:15:16 -05:00
Mohammad Amin Mollazadeh 2e7cfa0400 [WINESYNC][COMCTL32] Move caret to the end on "select all" (#7939)
CORE-19903

comctl32/edit: Scroll caret on Ctrl+A.

wine commit id https://github.com/wine-mirror/wine/commit/e71087cd39fdc546846f1f74f2e701596bcfd18d by Vladislav Timonin <[email protected]>
2025-05-04 22:32:56 +02:00
Mohammad Amin Mollazadeh 3e342246d4 [WINESYNC][COMCTL32] Fix large height for ComboBox when CBS_NOINTEGRALHEIGHT is specified (#7940)
CORE-19833

wine commit id https://github.com/wine-mirror/wine/commit/d551564f1b626b508583149be515b2111ec020b0 by Orin Varley <[email protected]>

comctl32: Make CBS_NOINTEGRALHEIGHT only set minimum combobox height.

When the combobox height is to be set by the application (as the CBS_NOINTEGRALHEIGHT style is on),
and when a large size is specified but only a small number of items in the list, the height of the
combobox should be set by the number of items rather than the size specified to avoid empty lines.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=57360
2025-05-04 16:59:54 +02:00
Mohammad Amin Mollazadeh 21d3e290b7 [WINESYNC][COMCTL32] Don't delete font when destroying the control (#7941)
The font object `infoPtr->Font` is not owned by the `syslink` control, therefore freeing it would make the whole system use a different font. The fix provided by Wine removes the code that deletes this font object.

Imports Wine commit https://github.com/wine-mirror/wine/commit/480598680ceb86661bd269b7a64bd90e38a40f98

Fixes deleting system font object when destroying syslink. CORE-20127
2025-05-04 02:14:24 +03:00
Katayama Hirofumi MZ e40e5f572f Revert "[COMCTL32] Pager: Fix PGM_RECALCSIZE behaviour (#7875)" (#7910)
Reverts #7875.
JIRA issue: CORE-20121
2025-04-30 20:38:22 +09:00
Katayama Hirofumi MZ 94fc56c038 [COMCTL32][USER32] Edit: Don't unlock if unlocked on EM_SETHANDLE (#7886)
JIRA issue: CORE-18944
EDIT_EM_GetHandle unlocks the handle,
so the next EM_SETHANDLE handler
shouldn't unlock the unlocked text.
Don't unlock the handle when es->text
was NULL on EM_SETHANDLE
message handling.
2025-04-24 19:21:22 +09:00
Katayama Hirofumi MZ 80eb313eed [COMCTL32] Pager: Fix PGM_RECALCSIZE behaviour (#7875)
JIRA issue: CORE-7017
- Add m_bProcessingReCalcSize to PAGER_INFO structure.
- Fix EM_FMTLINES and PGM_RECALCSIZE handling, by
  usiing m_bProcessingReCalcSize.
2025-04-15 08:59:43 +09:00
Whindmar Saksit f669426bf4 [COMCTL32] Include size of state imagelist for column 0 LVSCW_AUTOSIZE (#7873)
CORE-20080 CORE-15423
2025-04-07 21:20:15 +02:00
Whindmar Saksit 182f353b2f [COMCTL32] ImageList_LoadImageW with CLR_NONE should not use a mask (#7869)
CORE-16146
2025-04-06 19:00:54 +02:00
Katayama Hirofumi MZ 7efab12e6f [CMAKE] Introduce set_wine_module (Retry) (#7860)
Re-trial of #7800. Deleting __WINESRC__
hacks.
JIRA issue: CORE-5743
- Add sdk/cmake/set_wine_module.cmake.
- Load set_wine_module.cmake at
  top-level CMakeLists.txt.
- Use set_wine_module cmake function
  and delete __WINESRC__ as possible.
- Delete many include_directories.
2025-04-04 20:44:38 +09:00
Marcin Jabłoński be7d79768e [COMCTL32] Fix a heap corruption in EDIT_EM_ReplaceSel (#7598)
https://jira.reactos.org/browse/CORE-19743
2025-03-26 10:32:17 +01:00
Doug Lyons ffa81857c2 [COMCTL32] ReactOS second stage listbox selection fix (#7793)
@I_Kill_Bugs patch
CORE-19814
Check for LBS_NOSEL flag for 'descr->style' in 'LISTBOX_PaintItem' and if FALSE, only then set 'selected'.
2025-03-22 19:33:50 -05:00
Katayama Hirofumi MZ 75c0dc0cd8 [EXPLORER][COMCTL32][SHELL32] Enable SPI_SETICONTITLELOGFONT (#7783)
Enable desktop icon title font setting.
JIRA issue: CORE-13601
- Forward WM_SETTINGCHANGE message up to
  ListView.
- ListView accepts WM_SETTINGCHANGE message.
- Enable icon spacing.
2025-03-15 09:31:15 +09:00
Miguel Almeida b45debb93a [COMCTL32] Fix shift-selecting files not working as expected in small/large icons views (#7729)
CORE-10386

Fixes the behavior when selecting multiple files in a folder with the Shift key, while using either the Large Icons or Small Icons view, so that it is consistent with how it works on Windows.

Proposed changes:
Disable the specialized code for these views in LISTVIEW_SetGroupSelection, using the same code as for the list and details views, which also works fine for them.
2025-03-11 13:49:39 +01:00
Whindmar Saksit ae79d1af90 [COMCTL32] ListView LVIS_CUT image does not depend on focus (#7724)
Also undoes flicker caused by PR #4218.
2025-02-19 15:26:49 +01:00
Whindmar Saksit 705a985789 [COMCTL32][COMCTL32_APITEST] Implement ImageList Get/SetFlags and the system flag (#7701)
The shell needs to be able to change the color depth of the system image lists on the fly and it does that by changing the ILC_COLOR* flags.
2025-02-17 13:46:20 +01:00
Denis Malikov 28b802b229 [COMCTL32] fix version number reading/writing image lists and counting pointers for mixing image & mask 2025-02-09 12:15:51 -08:00
Timo Kreuzer 1de09c477c [3RDPARTY] Link to oldnames for stricmp/wcsicmp 2024-10-20 14:12:25 +03:00
Whindmar Saksit 751641c2be [SHELL32][COMCTL32][BROWSEUI][EXPLORER] Update color usage on WM_SYSCOLORCHANGE (#7325) 2024-09-14 13:07:11 +02:00
Doug Lyons bc76250bd8 [COMCTL32] Fix edit control cursor positioning (#7317)
Fix caret positioning regression from Wine Sync to Wine 5.0 affecting notepad.
Restore older Wine code that handles caret position with ReactOS better.
This was a regression from 0.4.15-dev-8612-g0707475 https://github.com/reactos/reactos/commit/0707475f6974a0add99fc396146c26a970c5148b

CORE-19731
2024-09-06 08:25:40 -05:00
Justin Miller 0707475f69 [COMCTL32][MEDIA] Sync comctl32 to wine 5.0 (#6789)
For SOME reason comctl32 has been synched manually multiple times to different versions and different pots
This PR aims to fix that

With the exception of button.c which all in all is a massive fork over wines code entirely.
and datetime.c which is at wine 6.0

Comctl32 is now at wine-5.0
2024-09-03 21:54:05 -07:00
Joachim Henze d34b058d26 [COMCTL32] pt-PT: Those 2 buttons shall not have an accel 2024-08-18 06:40:41 +02:00
Joachim Henze 4b4a6b3b90 [COMCTL32] *.rc: trivial improvements and added FIXMEs 2024-08-18 02:50:13 +02:00
Jose Carlos Jesus 709309d94f [COMCTL32] pt-PT: Fix accel collisions. Add missing accel keys. (#7234) 2024-08-11 16:56:38 +02:00
Tomáš Veselý 466a19817f [COMCTL32][USER32] STATIC: Fix grayed drawing (#7024)
CORE-15298

Use DrawTextW() to correctly render disabled grayed text.
Applies to both dll\win32\comctl32\static.c and win32ss\user\user32\controls\static.c

A similar solution is already used by button.c!BUTTON_DrawLabel().
2024-07-18 22:03:36 +02:00
Andrei Miloiu 9f9431bc7b [COMCTL32] Update Romanian (ro-RO) translation (#6874) 2024-07-16 21:42:40 +02:00
Katayama Hirofumi MZ c536664666 [EXPLORER][COMCTL32] Fix wrong title on taskbar if it has '&' in it (#7073)
The ampersand (&) a.k.a. prefix of
DrawText are specially treated for
adding underscores.
We have to fix drawing on toolbar
button with BTNS_NOPREFIX style.
JIRA issue: CORE-11619

- Delete DT flags hack in taskswnd.cpp.
- Add TOOLBAR_GetButtonDTFlags
  helper function.
- Extend TOOLBAR_DrawString
  parameters for the button info.
- Fix DrawText flags for drawing
  when the button has
  BTNS_NOPREFIX style.
2024-07-06 10:38:04 +09:00
Oleg Dubinskiy 1a1025011f [REACTOS] Fix LoadCursorW() incorrect usage cases (#7053)
Fix wrong MAKEINTRESOURCEW() macro usage cases in LoadCursorW() system-wide.
MSDN documentation for this function states we need to use MAKEINTRESOURCEW() macro only for internal application-defined cursors (loaded from the app instance specified by hInstance parameter), but not for system-defined cursors (those begin with IDC_* prefix), in case when hInstance is NULL.
So get rid from MAKEINTRESOURCEW() macro usage for all cases when hInstance parameter is NULL. And on the contrary, when hInstance is valid and points to the application instance, then use it for the resource identifier.
2024-07-01 18:05:46 +02:00
Whindmar Saksit 11ea1d6198 [BROWSEUI][COMCTL32] Handle rename on other folders in Explorer bar tree (#6832)
IContextMenu (CDefaultContextMenu) only knows how to rename when its site is an IShellView. The tree must detect the rename operation and perform it in the TreeView instead.

Fixed a bug in the ListView that is triggered by activating DefView (to complete the rename): Just after DefView has been activated, the tree performs a navigation to the newly renamed folder, this causes DefView to be destroyed and in turn the ListView. The ListView tries to handle a selection change during destruction of the ListView and ends up accessing an invalid pointer.

CORE-19557
2024-05-22 00:06:46 +02:00
Ryan Kounter ab72bc06d6 [COMCTL32] Fix header redraw glitches when resizing (#6799)
Fixes COMCTL32 headers from being garbage text when resizing while drawn off screen.

- Invalidate header item rect before scrolling to prevent the divider from being redrawn over and over.
- Invalidate header item text through adding flag SW_INVALIDATE to ScrollWindowEx call to prevent the text from being redrawn over and over.

CORE-19404
2024-04-27 09:56:03 -06:00
Joachim Henze 21a9f78b2d [COMCTL32] Pt.rc: Place accelerator FIXMEs 2024-04-18 01:53:20 +02:00
Doug Lyons a771729e69 [COMCTL32] Fix Status Bar Updating (#6696)
This fixes CORE-19497 'Regression, part of the statusbar with the sizegrip is not redrawn properly'

The regression was introduced / unhidden by 0.4.15-dev-5617-g 7866eb2886

Author of the patch: JIRA-user: I_Kill_Bugs
turned into PR by @Doug-Lyons
Thank you both!

KVM: https://reactos.org/testman/compare.php?ids=94433,94435
VBox: Builder Broken atm unfortunately
2024-04-05 23:30:09 +02:00
Katayama Hirofumi MZ bbc455f77c [COMCTL32] TreeView: Fix selection display on checking checkbox (#6608)
Fix checkboxed treeview selection display.
JIRA issue: CORE-19480
- Make the first argument of TREEVIEW_ToggleItemState non-const.
- Select the item by calling TREEVIEW_SelectItem in TREEVIEW_ToggleItemState.
2024-03-12 18:49:52 +09:00
Katayama Hirofumi MZ 8ea93d2ab2 [REACTOS] Standardize <imm.h> and <immdev.h> (#6493)
Improve header compatibility and
code quality.
JIRA issue: CORE-19268
- Improve <imm.h> and <immdev.h>
  compatibility by correctly choosing
  the items.
- Use <immdev.h> instead of
  <ddk/immdev.h>.
- Move INPUTCONTEXTDX, IMEINFOEX,
  IMEDPI, and CLIENTIMC into
  <imm32_undoc.h>.
- Adapt to these changes.
2024-02-13 20:33:14 +09:00