Commit graph

20 commits

Author SHA1 Message Date
Katayama Hirofumi MZ 2d4d3f5fce
[COMCTL32][USER32] Fix radio button regression (#2146)
PR #2135 (e329e83) caused radiobutton regression. This PR will fix it.
- Clear DT_BOTTOM | DT_VCENTER flags upon calculating the button text height.
CORE-16552
2019-12-10 11:07:56 +09:00
Joachim Henze a40331b0f4 [COMCTL32] Workaround v6 button redraw regressions CORE-13278 & CORE-16093
Most likely not correct, as it breaks comctl32:buttonv6 tests
https://reactos.org/testman/compare.php?ids=68146,68147

But greatly eliminates perceived flickering when hovering
with the mouse about buttons in unthemed mode.
We suffered from these regressions for years and nobody did
find a proper solution, therefore it's time to at least workaround them.
The patch did not expose any new real-world-issues after I retested
the whole rapps suite against it in 0.4.12RCs.

I committed the same workaround already into 0.4.12-RC-30-g
9513c9bf12

CORE-13278 was once introduced/unhidden by SVN 73806 ==
c607de714c

CORE-16093 was once introduced/unhidden by SVN 74149 ==
301c476074
2019-09-22 21:17:10 +02:00
Andreas Maier 49165276f2 [COMCTL32] Fix CORE-14619 (Checkbox buttons theming regression) (#1674)
* [COMCTL32] Fix CORE-14619 (Checkbox buttons theming regression)

Fix cb_states / rb_states lookup table.

* [README.WINE] comctl32 is synced to WineStaging-3.3.

See commit b3fb8555 .
2019-06-22 16:36:14 +02:00
Hermès Bélusca-Maïto 780f2ba215
[USER32][COMCTL32] Move the auto radio button group logic from BM_SETCHECK to WM_LBUTTONUP handler.
CORE-8526

Import Wine commit:
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.
"
by Dmitry Timoshkov.
See bug report https://bugs.winehq.org/show_bug.cgi?id=42010

- (ReactOS-only) Fix also the corresponding logic in COMCTL32.
2019-03-24 17:23:24 +01:00
Thomas Faber 8dcdf82e71
[COMCTL32] Check for NULL pointer when handling BCM_GETIDEALSIZE.
Fixes crash in comctl32_winetest:button.
2019-02-17 09:51:18 +01:00
Joachim Henze 1e05f9cc32 [COMCTL32] Revert "button: Don't erase the area of the checkbox or the text."
This reverts commit 0.4.12-dev-347-g
75a80ec823
by explcit request of Giannis Adamopoulos.

I double-checked and confirm, that
this revert fixes both regressions CORE-15595 & CORE-15696.
On the downside the revert will intensify again the regression CORE-13278
(will make the text flash again as well).

Giannis Adamopoulos mentioned earlier, that using double-buffering
eventually could be a valid way out of CORE-13278 instead.
2019-01-29 19:25:57 +01:00
Giannis Adamopoulos 75a80ec823 [COMCTL32] button: Don't erase the area of the checkbox or the text.
Attempt to fix the menace of the world, CORE-13278.
Note that this can also cause visual glitches for classic check boxes or radio buttons.
2019-01-10 23:38:02 +02:00
Pierre Schweitzer 52da844825
[COMCTL32] Don't leak memory in CB_ThemedPaint()
CID 1441313
2018-11-16 22:07:09 +01:00
Pierre Schweitzer 3fddd3157c
[COMCTL32] Don't leak memory in PB_ThemedPaint()
CID 1441373
2018-11-16 22:07:08 +01:00
Katayama Hirofumi MZ a244e4f6dd [WIN32SS][COMCTL32] Fix button text Y positioning (#766)
Fixes the vertical position of button text.
CORE-14906
2018-09-09 17:37:37 +02:00
Mark Jansen ffae49deaf
[COMCTL32] Unregister some classes that were registered.
This should help fix some crashes.
2018-08-27 19:49:57 +02:00
Joachim Henze 1c151c9977 [COMCTL32] Simplify some ifdefs CORE-14649
Addendum to 16d6c9b5e0
Giannis suggested and Thomas explained:

Before the Wine sync, comctl32/button.c was based on ROS's
user32/button.c, so _USER32_ would highlight changes between
user32 (originally based on Wine) and comctl32. Now our
comctl32/button.c is based on Wine's comctl32/button.c, so
__REACTOS__ is enough.
2018-06-03 14:27:34 +02:00
Joachim Henze 16d6c9b5e0 [COMCTL32] Fix regression CORE-14649
Fixes a regression that was introduced by Wine Staging 3.3 Sync.
Symptom was missing button text and icons for specific buttons
in Delphi applications, e.g. Double-Commander, Lazarus, Peazip.
The patch restores and ifdef-guards previous changes of Giannis.
2018-06-02 12:28:47 +02:00
Giannis Adamopoulos b3fb8555bf [COMCTL32] Sync with Wine Staging 3.3. CORE-14434 2018-04-20 16:27:17 +02:00
Giannis Adamopoulos a4ea17218f [COMCTL32] Implement using different image list images depending on the button state 2017-11-17 14:44:52 +02:00
Giannis Adamopoulos 34c563fa2a [COMCTL32] Button: Don't use a class brush. CORE-13445 2017-11-17 01:26:37 +02:00
Giannis Adamopoulos 18dee7a392 [COMCTL32] Button: Implement sending CDDS_PREERASE, CDDS_POSTERASE, CDDS_PREPAINT and CDDS_POSTPAINT according to the apitest and the visual tests.
Remove some #ifdef __REACTOS__ from theme_button.c as this file has been forked for good and there is not real plan to keep syncing it with wine.
2017-11-11 13:56:28 +02:00
Giannis Adamopoulos a98ff4d77c [COMCTL32] Button: Draw the image list even when the button has the BS_ICON or the BS_BITMAP style. CORE-13170 2017-11-11 01:31:32 +02:00
Giannis Adamopoulos dea602cd70 [COMCTL32] -Button: Implement drawing the image list with the BUTTON_IMAGELIST_ALIGN_CENTER parameter. This is enough to fix buttons with images created by Lazarus but only with themes. The non themed branch of the code is slightly more complex and will be fixed next. CORE-13170 2017-11-10 20:59:25 +02:00
Colin Finck c2c66aff7d Git conversion: Make reactos the root directory, move rosapps, rostests, wallpapers into modules, and delete rossubsys. 2017-10-03 07:45:34 +00:00
Renamed from reactos/dll/win32/comctl32/button.c (Browse further)