Commit graph

518 commits

Author SHA1 Message Date
Joachim Henze ea05d36496 [0.4.13][PARPORT] Fix I/O port length check, [REACTOS] Logging & formatting, e.g. CORE-14388 CORE-19105
Ports back a real fix:
0.4.15-dev-1173-g ba09834c5e [PARPORT] Fix I/O port length check

Ports back logging and formatting:
0.4.15-dev-6794-g 4eace8d762 [IPHLPAPI] Silence obsolete FIXME in GetAdaptersAddresses (#5834) CORE-14388
0.4.15-dev-6438-g b12ab486d8 [MUP] Mute DPRINT1's that slow down shared folder accesses (#5545) CORE-19105

And mutes some other loggings as well for stuff, that I either never want to port back, e.g. the IMM-implementations,
or which is not really helpful in the older branches:
fixme:(win32ss/user/user32/misc/imm.c:446) WINNLSEnableIME is UNIMPLEMENTED!
fixme:(../dll/win32/iphlpapi/address.c:290) GetAdaptersAddresses - Semi Stub: Family 2, Flags 0x0000002e, Reserved 00000000, pAdapterAddress 00000000, pOutBufLen 0143EBD4.
(dll/ntdll/ldr/ldrinit.c:1649) LdrpInitializeProcessCompat: Not applying automatic fix for winver 0xa00 due to policy
(win32ss/gdi/gdi32/objects/text.c:543) GdiBCExtTextOut nothing

when browsing the startmenu:
fixme:(dll/win32/comctl32/toolbar.c:394) [00080086] TBSTYLE_REGISTERDROP not implemented
fixme:(dll/win32/comctl32/toolbar.c:5636) [00080086] response 2045774661 not handled to NM_CUSTOMDRAW (CDDS_PREERASE)
fixme:(dll/win32/comctl32/toolbar.c:5673) [00080086] response 3225142 not handled to NM_CUSTOMDRAW (CDDS_POSTERASE)
fixme:(dll/win32/comctl32/toolbar.c:5636) [000200BA] response 9 not handled to NM_CUSTOMDRAW (CDDS_PREERASE)
fixme:(dll/win32/comctl32/toolbar.c:5636) [00080086] response 2288892 not handled to NM_CUSTOMDRAW (CDDS_PREERASE)
fixme:(dll/win32/comctl32/toolbar.c:5673) [00080086] response 3291448 not handled to NM_CUSTOMDRAW (CDDS_POSTERASE)

and a bigger block regarding the parallel port during booting:
(drivers/parallel/parport/parport.c:127) Parport DriverEntry
(drivers/parallel/parport/fdo.c:391) AddDevice(B0B50548 B0FED980)
(drivers/parallel/parport/fdo.c:25) AddDeviceInternal()
(drivers/parallel/parport/fdo.c:513) FdoPnp()
(drivers/parallel/parport/fdo.c:582) IRP_MJ_PNP / IRP_MN_FILTER_RESOURCE_REQUIREMENTS
(drivers/parallel/parport/fdo.c:513) FdoPnp()
(drivers/parallel/parport/fdo.c:546) IRP_MJ_PNP / IRP_MN_START_DEVICE
(drivers/parallel/parport/misc.c:42) Calling lower device B0FED980
(drivers/parallel/parport/fdo.c:116) FdoStartDevice ()
(drivers/parallel/parport/fdo.c:160) Port: BaseAddress 0x378  Length 8
(drivers/parallel/parport/fdo.c:160) Port: BaseAddress 0x778  Length 8
(drivers/parallel/parport/fdo.c:174) Interrupt: Level 20  Vector 55
(drivers/parallel/parport/fdo.c:195) New LPT port: Base 0x378
(drivers/parallel/parport/fdo.c:513) FdoPnp()
(drivers/parallel/parport/fdo.c:586) Unknown minor function 0x9
(drivers/parallel/parport/fdo.c:513) FdoPnp()
(drivers/parallel/parport/fdo.c:586) Unknown minor function 0x14
(drivers/parallel/parport/fdo.c:513) FdoPnp()
(drivers/parallel/parport/fdo.c:564) IRP_MJ_PNP / IRP_MN_QUERY_DEVICE_RELATIONS / BusRelations
(drivers/parallel/parport/fdo.c:351) FdoQueryBusRelations()
(drivers/parallel/parport/fdo.c:233) FdoCreateRawParallelPdo()
(drivers/parallel/parport/fdo.c:378) Done
(drivers/parallel/parport/pdo.c:165) PdoPnp()
2023-11-05 13:24:34 +01:00
Joachim Henze 1e4b0e2352 [0.4.13][USER32][COMCTL32] Redraw children when the combo box is dropped down (#4138) (#5679)
port back the following commit:
0.4.15-dev-6613-g e13ebd44c6 [USER32] Pure Whitespace sync from comctl32/combo.c, no functional change
0.4.15-dev-6612-g d97313181e [USER32] Sync comctl32 combo.c code in context of CORE-17883
0.4.15-dev-3453-g ff89651ed0 [COMCTL32] Redraw children when the combo box is dropped down (#4138) CORE-17883

and tweak [USER32] combo.c a bit more even than on master, e.g. strip a few TRACEs. Possible because
unlike master we don't need to be as much in sync as possible to Wine in the older branches.
But we need to have binary size under control for the backports due to base-addresses.

Binary size:
user32.dll master    RosBEWin2.2.2 GCC8.4.0dbg               1.579.008
user32.dll 0.4.14rls RosBEWin2.1.6 GCC4.7.2dbg  1.448.448 -> 1.448.448
user32.dll 0.4.13rls RosBEWin2.1.6 GCC4.7.2dbg  1.445.376 -> 1.444.864
user32.dll 0.4.12rls RosBEWin2.1.6 GCC4.7.2dbg  1.455.616 -> 1.455.104
user32.dll 0.4.11rls RosBEWin2.1.6 GCC4.7.2dbg  1.453.056 -> 1.451.008
user32.dll 0.4.10rls RosBEWin2.1.6 GCC4.7.2dbg  1.434.624 -> 1.434.112
user32.dll 0.4. 9rls RosBEWin2.1.6 GCC4.7.2dbg  1.422.336 -> 1.421.824
user32.dll 0.4. 8rls RosBEWin2.1.6 GCC4.7.2dbg  1.421.824 -> 1.421.824
user32.dll 0.4. 7rls RosBEWin2.1.6 GCC4.7.2dbg  1.418.752 -> 1.417.216
2023-09-16 15:53:52 +02:00
Joachim Henze 29ffdb8715 [0.4.13] Anti-flicker backport winpos.c
This effective one-liner-backport fixes flickering in some apps like:
- CORE-7652 Hyperlink Blinking text while installing vc2008 redist package
and many duplicate-tickets of that same symptom, like:
- CORE-18553 CPUID CPU-Z 1.84 "about" flickers
- CORE-7753 Caesar 3: Autorun.exe flickers endlessly
- CORE-10741 API monitor high CPU usage
- CORE-15300 Worksoft Navigator 0.985 installer is locked in an endless redrawing loop
- CORE-16325 Some of MWSnap's installation windows fail to display content
- CORE-17925 MS Visual C++ 2008 Redistributable Setup takes long time
- CORE-18153 BitComet 1.86 forces the shell to a endless redrawing
- CORE-18434 Ubisoft installers (SetupUbi) - continously refresh of window
- CORE-15546 Shed 1.0 from rapps - setup does not draw some dlgs initially, but redraw can be enforced
- CORE-18582 Emule 0.50a - Interface frozen / flickering until window is moved

And since I do also port back the follow-up-commit of that, we can achieve that without introducing
the following regressions which the initial fixes caused:
- CORE-18817 [NTUSER] Winpos.c modification generates bad first drawing of some elements
- CORE-18830 Explorer Drawing glitch: Missing "X" on "Folder" pane when Right Click > Explore from Desktop icons
Those 2 things did not happen in the older releases beforehand.

In sum this is a squashed backport of:
0.4.15-dev-6507-g 49dbc8fbbb [NTUSER] Whitespace-fixes winpos.c
0.4.15-dev-5684-g 57eb2a6bf4 [NTUSER] Missing "X" on "Folder" pane when Right Click > Explore from Desktop icons & Rapps toolbar errors (#5068) CORE-18830, CORE-18817
the superseded 0.4.15-dev-5618-g 8866b9d7b0 Update win32ss/user/ntuser/winpos.c
the superseded 0.4.15-dev-5617-g 7866eb2886 [NTUSER] Fix winpos bug hyperlink&images loop redrawing CORE-7652 (#4995)

To prevent increased binary size for the added conditions in the code in older branches, strip a single good-path-TRACE()
which had no trailing \n in the older branches,
but where that \n was added in master head meanwhile. So that TRACE was a diff to older branches anyway.
2023-08-20 02:49:06 +02:00
Joachim Henze 4a6b865483 [0.4.13][NTOS][WIN32SS] Fix double free in ObCreateObject
Backport the following commits:
0.4.15-dev-6401-g 53b30e3f3b [NTOSKRNL][NTGDI] Formatting addendum, no functional change
0.4.15-dev-5487-g e7bbbf049e [NTOS] Fix double free on allocation failure in ObCreateObject

Just for verifying that the size didn't increase anywhere:

ntoskrnl.exe GCC8.4.0dbg RosBEWin2.2.2 master               5.124.096
ntoskrnl.exe GCC4.7.2dbg RosBEWin2.1.6 0.4.14  4.413.440 -> 4.413.440
ntoskrnl.exe GCC4.7.2dbg RosBEWin2.1.6 0.4.13  4.367.360 -> 4.367.360
ntoskrnl.exe GCC4.7.2dbg RosBEWin2.1.6 0.4.12  4.377.600 -> 4.377.600
ntoskrnl.exe GCC4.7.2dbg RosBEWin2.1.6 0.4.11  4.377.088 -> 4.377.088
ntoskrnl.exe GCC4.7.2dbg RosBEWin2.1.6 0.4.10  4.344.320 -> 4.344.320
ntoskrnl.exe GCC4.7.2dbg RosBEWin2.1.6 0.4. 9  4.311.552 -> 4.311.552
ntoskrnl.exe GCC4.7.2dbg RosBEWin2.1.6 0.4. 8  4.296.704 -> 4.296.704
ntoskrnl.exe GCC4.7.2dbg RosBEWin2.1.6 0.4. 7  4.231.168 -> 4.231.168

udfs.sys     GCC8.4.0dbg RosBEWin2.2.2 master             835.584
udfs.sys     GCC4.7.2dbg RosBEWin2.1.6 0.4.14  745.472 -> 745.472
udfs.sys     GCC4.7.2dbg RosBEWin2.1.6 0.4.13  745.472 -> 745.472
udfs.sys     GCC4.7.2dbg RosBEWin2.1.6 0.4.12  749.568 -> 749.568
udfs.sys     GCC4.7.2dbg RosBEWin2.1.6 0.4.11  749.568 -> 749.568
udfs.sys     GCC4.7.2dbg RosBEWin2.1.6 0.4.10  749.568 -> 749.568
udfs.sys     GCC4.7.2dbg RosBEWin2.1.6 0.4. 9  749.568 -> 749.568
udfs.sys     GCC4.7.2dbg RosBEWin2.1.6 0.4. 8  749.568 -> 749.568
udfs.sys     GCC4.7.2dbg RosBEWin2.1.6 0.4. 7  749.568 -> 749.568

user32.dll   GCC8.4.0dbg RosBEWin2.2.2 master               1.585.152
user32.dll   GCC4.7.2dbg RosBEWin2.1.6 0.4.14  1.448.448 -> 1.448.448
user32.dll   GCC4.7.2dbg RosBEWin2.1.6 0.4.13  1.445.376 -> 1.445.376
user32.dll   GCC4.7.2dbg RosBEWin2.1.6 0.4.12  1.455.616 -> 1.455.616
user32.dll   GCC4.7.2dbg RosBEWin2.1.6 0.4.11  1.453.056 -> 1.453.056
user32.dll   GCC4.7.2dbg RosBEWin2.1.6 0.4.10  1.434.624 -> 1.434.624
user32.dll   GCC4.7.2dbg RosBEWin2.1.6 0.4. 9  1.422.336 -> 1.422.336
user32.dll   GCC4.7.2dbg RosBEWin2.1.6 0.4. 8  1.421.824 -> 1.421.824
user32.dll   GCC4.7.2dbg RosBEWin2.1.6 0.4. 7  1.418.752 -> 1.418.752

win32k.sys   GCC8.4.0dbg RosBEWin2.2.2 master               3.477.504
win32k.sys   GCC4.7.2dbg RosBEWin2.1.6 0.4.14  2.904.064 -> 2.904.064
win32k.sys   GCC4.7.2dbg RosBEWin2.1.6 0.4.13  2.895.872 -> 2.895.872
win32k.sys   GCC4.7.2dbg RosBEWin2.1.6 0.4.12  2.887.680 -> 2.887.680
win32k.sys   GCC4.7.2dbg RosBEWin2.1.6 0.4.11  2.867.200 -> 2.867.200
win32k.sys   GCC4.7.2dbg RosBEWin2.1.6 0.4.10  2.863.104 -> 2.863.104
win32k.sys   GCC4.7.2dbg RosBEWin2.1.6 0.4. 9  2.834.432 -> 2.834.432
win32k.sys   GCC4.7.2dbg RosBEWin2.1.6 0.4. 8  2.830.336 -> 2.830.336
win32k.sys   GCC4.7.2dbg RosBEWin2.1.6 0.4. 7  2.830.336 -> 2.830.336
2023-08-02 00:36:48 +02:00
Joachim Henze 866a12fe3c [0.4.13][NTUSER] NtUserWaitForInputIdle: Fix unhandled exception BSOD 0x1E, and tweaks
Backport the following commits:

0.4.15-dev-6397-g 6b7efb331c [NTUSER] co_IntSendMessageWithCallBack: Formatting only, no functional changes
0.4.15-dev-6227-g c7e4c3a8e9 [NTUSER] NtUserWaitForInputIdle: Fix unhandled exception BSOD 0x1E CORE-18728 CORE-19014 (#5391)
0.4.15-dev-697-g 9f428f5522 [NTUSER] Demote ERR to TRACE, also some minor corrections (#3132)

win32k.sys master GCC8.4.0dbg RosBEWin2.2.0              3.477.504
win32k.sys 0.4.14 GCC4.7.2dbg RosBEWin2.1.6 2.904.064 -> 2.904.064
win32k.sys 0.4.13 GCC4.7.2dbg RosBEWin2.1.6 2.895.872 -> 2.895.872
win32k.sys 0.4.12 GCC4.7.2dbg RosBEWin2.1.6 2.887.680 -> 2.887.680
win32k.sys 0.4.11 GCC4.7.2dbg RosBEWin2.1.6 2.867.200 -> 2.867.200
win32k.sys 0.4.10 GCC4.7.2dbg RosBEWin2.1.6 2.863.104 -> 2.863.104
win32k.sys 0.4. 9 GCC4.7.2dbg RosBEWin2.1.6 2.834.432 -> 2.834.432
win32k.sys 0.4. 8 GCC4.7.2dbg RosBEWin2.1.6 2.830.336 -> 2.830.336
win32k.sys 0.4. 7 GCC4.7.2dbg RosBEWin2.1.6 2.830.336 -> 2.830.336
2023-07-30 21:48:42 +02:00
Joachim Henze de21806b74 [0.4.13][NTUSER] co_UserDestroyWindow: Validate window before destroying it (#5054)
Prevent the window from being destroyed twice
fixes CORE-18821 'WIN32K BSOD 0x1E when opening Build menu in AVR Studio 4.19'
port of 0.4.15-dev-5938-g 77d4653164

And port back also some unrelated formatting improvements,
and kill a block of code that was commented out in all branches,
and was not x64 compatible in 0.4.7/0.4.8, and therefore was a diff already anyway.
2023-06-10 12:36:05 +02:00
Joachim Henze 4beb9cb4ea [0.4.13][NTUSER] Fix BSOD 0x1E nullptr deref CORE-18899 (#5212)
by porting back:
0.4.15-dev-5902-g 9ee9f73369

Likely that nullptr deref was introduced to the master branch by 0.4.13-dev-962-g 4193b8d8ac
2023-04-07 19:06:26 +02:00
Joachim Henze aa2a900d6d [0.4.13][REACTOS] Backport "http://www.reactos" -> "https://reactos" and readme.txt
by porting back:
0.4.15-dev-5669-g 09dde2cff9 [REACTOS] "http://www.reactos" -> "https://reactos" (#5043)
0.4.15-dev-3250-g da4d0545eb [BOOTDATA] readme.txt: Trivial correction Seven->7 (#4014)
0.4.15-dev-2940-g a559d830b5 [BOOTDATA] Update readme.txt
0.4.14-dev-1550-g b7503df6ed [BOOTDATA] readme.txt: Update now-redirected 'www.reactos.org' URLs (#2633)
2023-03-19 11:49:24 +01:00
Joachim Henze a23fca7951 [0.4.13] Update Scrollbar code to state of master 2023-March-12
by porting back:
0.4.15-dev-5784-g 2aea4ab945 [NTUSER] Scrollbar.c pure whitespace fixes
0.4.15-dev-5680-g 5ad5737370 CORE-18050 [NTUSER] Delete temporary workarounds in co_IntSetScrollInfo() (#4985)
0.4.15-dev-5355-g 0484beb04b CORE-18593 [NTUSER] Don't redraw scrollbar if it is hidden command prompt (#4849)
0.4.15-dev-4492-g 03422451b3 Add '\n' to debug logs (partially, only the scrollbar.c part)
0.4.15-dev-3875-g 977c129f33 CORE-18048 [USER32] SetScrollPos should not bypass UserApiHook (#4372)
0.4.15-dev-3849-g fd28a69de6 CORE-17780 [WIN32SS] Store the scrollbar theming enabled flag in the scrollbar (#4367)
0.4.15-dev-3175-g 222acf5a3e CORE-17777 [NTUSER] Scrollbar.c, Avoid potential out-of-bounds-accesses in co_IntSetScrollInfo()
0.4.15-dev-3174-g dda9c3979e CORE-17769 'Rapps Listview manual resize may erroneously not draw the triangles sometimes'
0.4.15-dev-3147-g 3bf7e3ac13 CORE-17754 and CORE-17755 [NTUSER] Improve Themed Scrollbars by Minimizing Updates (#3953)
0.4.15-dev-3086-g 236649c626 CORE-16375 [UXTHEME][NTUSER] Fix flashing of scrollbar when scrolling (#3868)
0.4.15-dev-2375-g ffea5152e6 [WIN32SS][NTUSER] Fix an integer underflow within scrollbar info setting
0.4.14-dev-1134-g 00adb1a3f9 [WIN32SS] Improve Drawing Scrollbars
- CORE-14755 fixed, flashing scrollbar triangles (we know 131 affected apps just from rapps!)
- CORE-13931 fixed, FamiTracker invisible about-dlg
- CORE-14685 improves a bit, but is not entirely fixed
- CORE-11561 'Notepad scrollbars problem' fixed

This will also speed up NSIS installers that display their file-copy-progress by
a self-scrolling listview.
2023-03-12 10:58:22 +01:00
Joachim Henze 5ce8169d68 [0.4.13][NTUSER] Allow Window Snap to be disabled and optimize
Win+Left, Win+Right, Win+Up, and Win+Down can be disabled by registry value WindowArrangementActive REG_SZ 0 in
HKEY_CURRENT_USER\Control Panel\Desktop
Snapping mouse can be also disabled.

by porting back:
0.4.15-dev-5703-g d04e148d1c Optimize window snap disabling (#5061)
0.4.15-dev-5641-g ea55101aad Allow Window Snap to be disabled (#5014) CORE-16379 (#5014)

Also port back some minor unrelated improvements:
0.4.15-dev-3341-g 4bc95812fd defwnd.c Mark default as unreachable.
0.4.15-dev-316-g 938df97b54 nonclient.c NC_IconForWindow(): Remove redundant if() (#2842)
and:
-defwnd.c: delete a malformed TRACE() which had a format string, but no argument.

-sysparams.c: A single line from 0.4.14-dev-676-g 9ce12f0b4c avoiding a wcslen() call in SpiLoadTimeOut()
2023-02-25 03:36:01 +01:00
Joachim Henze 69674a1e9d [0.4.13][GDI32][BUTTERFLIES] Fix a BSOD caused by memory leak CORE-18498
The symptom was unhidden by (regression from users perspective):
0.4.12-dev-389-g 5f2bebf7a5

by porting back:
0.4.15-dev-5608-g afb953ae4d [BUTTERFLIES] Do not release the DC passed to OpenGL. CORE-18498
0.4.15-dev-5607-g 8b19b6ec5a [GDI32] Fix memory leak in case of public DC. CORE-18498

For now I will not port it back further than releases/0.4.12
although the code in both modules might be suboptimal even in earlier release-branches.
But we see no symptoms in those yet.
2023-02-09 16:34:12 +01:00
Joachim Henze 4379ba0b17 [0.4.13][NTGDI] Check if face->charmap is not zero before accessing its encoding (#4390)
Prevents a BSOD 0x1E upon dereference.
CORE-18091 CORE-18558

By partially porting back:
0.4.15-dev-5587-ga999c43 a999c43746
and take also some cosmetic changes from master head, like EOL-whitespace-removal.
2023-01-21 11:09:10 +01:00
Joachim Henze 2c27378a21 [0.4.13][NTUSER] Fix zombie window created by CTRL+ALT+DEL (#4935) CORE-18258
Based on patch by I_Kill_Bugs.
Fixes the regression which was introduced to master by 0.4.15-dev-1126-g 58b0558f94

fix picked from 0.4.15-dev-5532-g ca9ded7af8
2022-12-26 01:44:17 +01:00
Joachim Henze f30afdabec [0.4.13][NTUSER][USER32][OSK] Initial support of WS_EX_NOACTIVATE flag (#4731)
WS_EX_NOACTIVATE flag forbids the window to be activated
fix picked from 0.4.15-dev-5137-g 826bd41d88 (1 of 3 commits for CORE-18417)
My reason for picking it is that it fixes CORE-13257 'Reboot leaving Evernote 5.9.8 in tray causes WIN32K BSOD 0x50'
I also had to pick together with it the
0.4.15-dev-5491-g 1fbed1710e to prevent it from introducing (+2 failures in user32:msg_focus) unittests.
----------------
The above patch allows/encourages us to pick then also:
0.4.15-dev-5492-g 47f3a4e144 [OSK] Delete WS_EX_NOACTIVATE workaround code
(which referenced CORE-18528, but is not fixing this minor GUI glitch yet, it just removes workaround-code that is no longer needed,
I just mention the ticket here, because the commit on master did that as well)
----------------
----------------
The following 2 things were small *unrelated* improvements nearby, and I decided to take them with me:
0.4.15-dev-4323-g 9f5cde9cbe [WIN32K:NTUSER] window.c Remove broken assert in NtUserCreateWindowEx. CORE-18123 fixed
and
a tiny part of 0.4.15-dev-3476-g 55a1c29341 [WIN32K] appswitch.c: delete unused func DWORD wtodw(const WCHAR *psz)
2022-12-24 02:06:06 +01:00
Joachim Henze 0492e6bc88 [0.4.13][NTUSER] Fix Toolbar re-painting when Rebar parent has been altered (#4380) CORE-12342
Fixes:
CORE-12342 '7zip is not drawing some of its controls until forcing a repaint'
CORE-8734 '[WIN32SS] dxdiag exposes a tabsheet redraw problem'
...
and many other duplicates in JIRA.

If a Rebar window is altered by calling either ShowWindow() or UpdateWindow()
then we were only updating the parent and omitting their children windows.

This is closer to the behavior of the very very old SVN r27394 == git f1a7f30887 .
And therefore intentionally excludes parts of SVN r27403 == git e2651a0dbc .

The bots have no complaints about it:
KVM https://reactos.org/testman/compare.php?ids=81266,81290
VBox https://reactos.org/testman/compare.php?ids=81267,81291

fix picked from 0.4.15-dev-3885-g ea7c14919e
2022-12-07 02:11:01 +01:00
Joachim Henze 759e5e3364 [0.4.13][NTGDI] Commit minimized Flip_Fix_9.patch
flip_fix_9.patch fixes:
CORE-16984 " 'SPINA Thrulg' / 'SPINA Thyr' / 'Sim Thyr' have images flipped"
CORE-17194 "StretchDIBits test" isn't work correctly"
           "Output of 'Project 3 Test'"
CORE-14701 "DVDStyler 3.0.4 transparent toolbars"
CORE-14701 "DVDStyler 3.0.4 erroneously black around icons of welcome-dlg"
CORE-14671 "'Peazip' shows icons in buttons and menubar vertically flipped"
           "Double Commander shoes icons flipped in buttons, menubar, listview and the treeview"
CORE-13273 "Welcome to Lazarus" icon shows flipped
CORE-13026 "'CudaText app' icon shows flipped"
CORE-18653 The dibobj.c part also fixes a BSOD 0x1E nullptr deref in Win32K when running the setup of 'Auslogics Disk Defrag Pro 4.9.4.0' in releases/0.4.7 to releases/0.4.13

Not all of those are duplicates, although they appear to be at first glance.
It affects different controls and some of those tickets do have different 'guilty revs' than others.

The patch does consist of 2 parts:

1.) win32ss/gdi/ntgdi/dibobj.c
This one is the most clean part of it, that addresses most of the flipping issues now, and the BSOD 0x1E.

2.) The hack in comctl32.h redefining the version:
We used that in the past to appease some, but not all of the issues listed above.
But it does hide additional issues, e.g. in DvDStyler, therefore we seem to still need that appeasement even today.
Most likely it would make sense to aim to avoid this part in the future.
part 2.) was committed as first appeasement on its own already into
0.4.14-RC-24-g 198b61e
0.4.13-RC-7-g 67211fa
0.4.12-RC-5-g 8449527
0.4.11-RC-16-g b906163
0.4.10-RC-7-g f1e80fe
0.4.9-RC-34-g 9d758ae
Interestingly this part is not needed for releases/0.4.7.
It became necessary for all newer releases with the COMCTL32 Winesyncs during 0.4.8-dev' and 0.4.9-dev'ing and their massive button.c-changes.

We also created a summary of manual test-results:
https://jira.reactos.org/browse/CORE-17415?focusedCommentId=126668&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-126668

If you read this comment via git blame and your goal is to get rid of the hack in comctl32.h, I would highly recommend
to redo the tests of that testing table, and if that is asked too much, then please test at least the following cases:
CORE-14701 "DVDStyler 3.0.4 transparent toolbars"
CORE-14701 "DVDStyler 3.0.4 erroneously black around icons of welcome-dlg"
           "DVDStyler 3.0.4 erroneously black/transparent within comboboxes of properties of VMGM menu"
and try to add what might be needed to fix them, and double-check again:
           "DoubleCommander optionsDlg the most complex testcase, contains flip-prone icons in treeview, listview, menubar, buttons, statics". Only some of its flipped icons were impacted by the comctl32.h change before.

fix is a squashed pick from
0.4.15-dev-1603-g 232c45fcd7
0.4.15-dev-5396-g 9c5bb096bc [COMCTL32] partial revert of the upper commit
2022-11-22 16:14:03 +01:00
Joachim Henze c18414b56b [0.4.13][NTUSER] Fix taskbar panes activation (#2046) (#3294) (#3697) (#3700), [SHELL32] (#4800)
This is a squashed backport of the following commits:
0.4.14-dev-369-g 141cf04239 (#2046) NTUSER
0.4.15-dev-1126-g 58b0558f94 (#3294) NTUSER
0.4.15-dev-2618-g 32b0cf6fc6 (#3697) NTUSER
0.4.15-dev-2621-g 59d4c11203 (#3700) NTUSER
0.4.15-dev-5242-g e6fb0e0c25 (#4800) SHELL32 Cleanup SHAppBarMessage()

brings us closer to releases/0.4.14

In the older branches it will fix the following bugs (or prevents introducing them):
CORE-14380 'Effective File Search 6.8.1 when you open up the app via desktop link there is no pane in taskbar'
CORE-15655 'Click-N-Type Virtual Keyboard 3.03.0412 has no taskbar pane'
CORE-15669 'DVD Write Now 1.5.12 SP2 setup has no taskbar pane'
CORE-15716 'Photofiltr 7.2.1 has no taskbar pane'
CORE-15731 'Java JRE 6u45 setup, last page of setup has no taskbar pane'
CORE-16030 'Moo0 Audio Recorder - the taskbar icon does not appear'
(CORE-17330 Regression, many installers that should have only 1 taskbar pane, now have 2 of them erroneously)
2022-10-22 22:25:06 +02:00
Joachim Henze 37bfb46a94 [0.4.13][NTGDI] 'otm' is always non-NULL in epilogue, and Mute a DPRINT CORE-16993
The DPRINT1 spams and hits performance, e.g. in the application 'SuperFinder XT'.
The logging was introduced by 0.4.11-dev-143-g 6b67ef6e10
fix picked from commit 0.4.15-dev-67-g a98bebb0b0

and the second part '[WIN32SS][NTGDI] 'otm' is always non-NULL in epilogue'
is a small optimization picked from 0.4.14-dev-108-g 1bf982ff88
otm is checked for NULL already a few lines before in that function, and is not touched
anymore in between the two locations. Tiny bit shorter+smaller now,
and might satisfy also some static code-analysis.
The origin of checking it twice for NULL dates back into much older times of ros.
2022-10-10 02:28:44 +02:00
Joachim Henze 786a4bb36d [0.4.13][WIN32SS] Repaint the whole window frame on some style bits set (#3199) CORE-16827
This fixes the ReactOS Calculator buttons disappearing in CORE-16827

It once regressed by 0.4.13-dev-221-g 2161dd85dc
which did aim to fix CORE-15934.
Noteworthy that releases/0.4.12 was never affected although I fixed CORE-15934
there as well, but *not* with the fix that went into master later!

fix picked from commit 0.4.15-dev-1197-g 8081ba9332

For the record: We know that what we do commit here for the time being is a workaround just,
and we will most likely replace it later with a proper patch from CORE18072.
But only after that one settled down for a while. Until then, this thing here will mitigate.
2022-03-11 03:20:06 +01:00
Joachim Henze e04c22dc8a [0.4.13][USER32][NTUSER][3DTEXT] Squashed backport
[USER32] GetQueueStatus() should not return 0 when passing QS_ALLINPUT flag that includes QS_RAWINPUT (#4115)

GTK applications call GetQueueStatus(QS_ALLINPUT), where QS_ALLINPUT
specifies the QS_RAWINPUT flag as well, when these are compiled for
Windows XP+, and they expect the call to succeed on this platform.

On one side, ReactOS does not currently support this flag at all, but
since it claims to be XP/2003-compatible, applications may implicitly
expect the flag to be supported by GetQueueStatus() and the function
*NOT* failing when this flag is set.
(Later GTK apps don't care and just call GetQueueStatus(QS_ALLINPUT)
that includes QS_RAWINPUT, and therefore would fail as well on e.g.
Windows 2000...)

Otherwise, an observable effect is that some versions of libgdk-win32-2.0.0.dll
enter into an infinite loop when calling GetQueueStatus(QS_ALLINPUT),
since this call always failed on ReactOS.

On the other side, however, we should honour our winetests that handle
the presence of the QS_RAWINPUT flag and behave differently accordingly.
But since we do not support QS_RAWINPUT yet, we should keep their old
behaviour where QS_RAWINPUT is unused.

Thus, in order to accomodate both sides, we don't fail the GetQueueStatus()
call, but just set the ERROR_INVALID_FLAGS last error and continue it.

This fixes:
'All user32:TrackMouseEvent tests'
CORE-15686: Gimp 2.8.22 from rapps hangs after startup with 90%-100% CPU usage
and many dupes of that ticket like:
CORE-17551: Ardour hangs at the first start (GTK2 issue)
CORE-15151: newer "Inkscape 0.92.3" is unusable due to WIN32SS message queue lockup
CORE-14086: RawTherapee 5.0-r1-gtk2 fails to start (using 100% CPU)
CORE-11850: Geany 1.28 hangs with endless MsqSendMessage timed out
CORE-8475: Wireshark hangs after launch

It will also slightly appease, but not entirely fix:
CORE-8217: 3D Text ScreenSaver freezes system

Fix picked from 0.4.15-dev-3407-g 9c4397afdf
---------------------
[NTUSER] Do not remove message from the Msg Queue if it is not for us. (#4129)

CORE-8217 This part of the fix keeps the buttons working (Cancel/Ok/top-Right-X) even under high CPU-load
Patch from 'I_Kill_Bugs' contributor.

Fix picked from 0.4.15-dev-3499-g 7d1b50394b
---------------------
[3DTEXT] Fix 3dtext.scr using near 100% CPU (#4125) CORE-17866, CORE-8217

Fix picked from 0.4.15-dev-3443-g 5c9fdcb1de
2022-02-08 13:00:42 +01:00
Joachim Henze 686421a030 [0.4.13][WIN32SS:NTUSER] Fix window state after restoring snapped window (#4119) CORE-16477
InternalPos.NormalRect is a key data for detecting whether a window was snapped.
Keeping it after restore affecting next snap actions.

The snapping-feature was added by 0.4.12-dev-373-g 7e396787ed

Fix picked from 0.4.15-dev-3422-g db810d8e44
2022-02-05 04:51:43 +01:00
Joachim Henze d7b3d79c8a [0.4.13][WIN32SS] Remove an ambiguous assert entirely CORE-16738
It popped up very reliably when performing git-clone of the ros sources
while having the taskmgr open in the processes-tab.
Or when building 'ninja bootcd -j1' while having the taskmgr open in the processes-tab.

It is always possible to ignore it and then continue using ros for days without
noticing any side effects.
James Tabor judged the assert to have a "questionable logic".
Giannis who once added it, was also ok with commenting it.

His words:
This assertion isn't something fatal,
the worst thing that can happen from continuing on it would be
to make the thread get awake more times than it should.

The assert was once added by SVN r63880 == git 9ad857369a

Fix picked from:
0.4.14-dev-1519-g 87f6c82d85 commenting 2020-04-21
0.4.15-dev-3780-g bf16435303 removal 2022-02-05
2022-02-05 01:56:05 +01:00
Joachim Henze 3b8bfa0bd2 [0.4.13][WIN32SS] Fix Mask for Draw Frame States CORE-8808
Fixes drawing of caption bar buttons (min/max/close in Mozilla Firefox titlebar when its menubar is disabled).
See CORE-8808.

The fix is a partial port of 0.4.14-dev-1314-g acf135d16d
I left out all changes to the logging and took only the essence of this patch.
2022-01-30 22:20:06 +01:00
Joachim Henze 029c6d460b [0.4.13][PROGMAN][USER32] Do not use LoadLibraryEx() NT6+ flags (#3152) CORE-12004
LOAD_LIBRARY_AS_IMAGE_RESOURCE and LOAD_LIBRARY_SEARCH_SYSTEM32 are Vista+

This fixes some blurry icons in systray when 2k3sp2 kernel32.dll is used in ros CORE-12004
That part in user32 was a regression of SVN r71609 == git a44dfe6c76
While we are at it we do fix some other modules as well, that used those NT6+flags.

The fix was picked from 0.4.15-dev-788-g a04831677e
2022-01-15 12:41:20 +01:00
Joachim Henze de7439bbb9 [0.4.13][WIN32K] Revert NtGdiStretchDIBitsInternal to Previous Logic (#3774)
Fixes gdi32:dib / gdi32:bitmap tests and

CORE-16236 "SIMS graphics", which regressed by
SVN 51005 == git 2bbd8711a7

Thanks to the patches author Doug Lyons.

It also fixed
CORE-16621 Kompozer 0.7.10 from rapps, exe does not show an icon, but does on 2k3sp2

fix picked from 0.4.15-dev-2850-g 847b037fe9
--------------
By taking the above, we also have to pick its addendum
[WIN32K] Fix 'use after free' in NtGdiStretchDIBitsInternal #4122 CORE-17861

0.4.15-dev-3420-g b538b9abb8
to avoid introducing another bug:
CORE-17861 MS Visual Studio 2010 Pro Fatal System Error 0x00000050
--------------
[WIN32K] Don't trust the BITMAPINFOHEADER size

This is not entirely correct yet, but less wrong than before and fixes
CORE-16031 Moo0 Audio Recorder - ReactOS icons are not displayed in the system tray
fix picked from 0.4.14-dev-848-g 53c9a6deaa
2022-01-15 01:28:37 +01:00
Joachim Henze bd6ad532d3 [0.4.13][WIN32K] Revert incorrect part of R50928 for RealizePalette. (#3678)
Revert part of SVN R50928 that causes Durak card suites to have wrong colors.
SVN r50928 == git 5de8339cd1

JIRA issue: CORE-13748 <= Durak Example
JIRA issue: CORE-16510 <= GDIProg Example

The idea was picked from 0.4.15-dev-2735-g c7954134d0
but I was too shy to port the recurrently spamming and slowing DPRINT1 back that far.
Spamming on master should be enough to improve here later.
2022-01-12 05:58:16 +01:00
Joachim Henze 853fcdfc48 [0.4.13][USER32] Fix BSOD 0x50 in 'WineVDM + Castle Of Winds' CORE-17856 CORE-17857
CORE-17856 BSOD 0x50 when starting Castle of the Winds second time, with WineVDM
CORE-17857 BSOD 0x50 on shutdown after closing Castle of the Winds with WineVDM

The fix is a squashed back port of:
0.4.15-dev-3430-g 9cff384c22
0.4.15-dev-3440-g a89844f740

I took also the following small off-topic-fix with me:
0.4.14-dev-1002-g feb7df42b4
which made both files 100% in sync with 0.4.14-release-0-g9963bba
2022-01-11 09:52:10 +01:00
Joachim Henze df9420ce10 [0.4.13][NTUSER][USER32] Tracking menu CORE-17338 (#4048), [EXPLORER] Send WM_POPUPSYSTEMMENU asynchronously (#4047) CORE-16353
This prevents the tracking menu from erroneously closing itself right after it was opened in some cases.
Fixes CORE-17338 which got unhidden by 0.4.15-dev-1126-g 58b0558f94
And fixes CORE-15760 which got unhidden by SVN r74972 == git 19dd22d422

Since both symptoms look very similar but the unhiding revisions did differ,
that could mean we do have some kind of race condition here.
I guess this fix is more like a workaround.

2 Fixes picked:
0.4.15-dev-3313-g 6417b2323d [NTUSER][USER32] Workaround tracking menu on CORE-17338 CORE-15760 (#4048)
to prevent the menu from auto-closing

and
0.4.15-dev-3297-g 037c744eb1 [EXPLORER] Send WM_POPUPSYSTEMMENU asynchronously CORE-16353 (#4047)
to make the taskbar button turn into pressed state when the menu opens
2022-01-10 07:15:59 +01:00
Joachim Henze aa42c29c1c [0.4.13][NTGDI] Fix potential BSOD 0x1E CORE-17626
in CreateDIBPalette() when passing invalid arguments to CreateDIBSection.
This could be triggered by using the broken test-application "GDIProg".

After this patch not only the BSOD is fixed but also the app does
properly start up, like it is the case on 2k3sp2.

The problem was unhidden by the innocent and unrelated 0.4.12-dev-266-g 8ab3652c01
I was not able to trigger the bug in releases older than 0.4.12,
but it is rather obvious that the mentioned revision is not really 'guilty', which
is why I will port the fix back further into releases even older than 0.4.12 as well.

Thanks to the patches author Doug Lyons.

a squashed port of:
0.4.15-dev-2734-g 514147776a (fixes the BSOD)
0.4.15-dev-2775-g c596fd3ef6 (improvement #3758)
0.4.15-dev-2776-g 4130f0b1c5 (compilation fix)
and some white-space tweaking that was committed after those.
2021-11-15 12:06:27 +01:00
Joachim Henze f1b31d5790 [0.4.13][WIN32SS] Fix BSOD 0x1E nullptr deref via Git-bash CORE-16586
Thanks to the patches author Doug Lyons!

fix picked from 0.4.15-dev-1457-g 870aa1254f
and the whitespace addendum 0.4.15-dev-1458-g 449a341786
2021-01-16 14:26:38 +01:00
Joachim Henze 0bb3632e35 [0.4.13][WINSPOOL] Properly fix a double free CORE-16715
Addendum to 0.4.13-RC-48-g 818e5bc752

Many Thanks to the patches author Doug Lyons!

fix picked from 0.4.15-dev-682-g dde92f8ffa
2021-01-15 00:54:51 +01:00
jimtabor b784074c2f [0.4.13][WIN32SS][RTL] Fix regression CORE-16769 + BSOD CORE-13907 & CORE-14857
Thanks to Jim Tabor, Mark Jansen & Thomas Faber
By squashed backmerge of the following commits:
--------------
[NTUSER] Fix Strings and Format to Hooks

Allocate heap instead of data segment to be used for callbacks on user side.
Move and correct initial hook call out setup. Use it in more than one hook call.

This fixes issues with strings out of alignment and use of kernel pointers.

See CORE-13907 and CORE-16769. KsStudio still needs retested.

Small wow update.

cherry picked from commit 0.4.14-dev-1287-g
568b6d0558
--------------
[RTL] Introduce RtlpImageNtHeader,
which implements the required functionality.
ntdll and ntoskrnl now have a wrapper for this, with SEH.
This protects the function against malformed / bad images,
whilst still being able to use the code in freeldr et al.
Idea from Thomas.
CORE-14857

cherry picked from commit 0.4.14-dev-1255-g
177ae91bf6
--------------
[WIN32SS] Form Sanity to Hook Callbacks

Fix WH_CALLWNDPROC/RET data to user hook calls. See CORE-13019 and CORE-13907.

cherry picked from commit 0.4.14-dev-1241-g
915a5764a9
--------------
[USER32] Fix null return.

See CORE-16769.

cherry picked from commit 0.4.14-dev-1240-g
d8add40e89
2020-04-03 14:51:10 +02:00
Joachim Henze 9e37046cf9 [0.4.13][WIN32SS] Fix regression CORE-16721 & scrollbar bug CORE-15557
"Scrolling by pressing the scrollbar arrows does not draw the arrows as pressed"
Fixed by a patch of JIRA-user 'I_kill_bugs'. Thank you very much!

The regression was introduced by 0.4.11-dev-586-g
929a2c6637
(which itself aimed to fix CORE-13986,
but not CORE-13918 as erroneously stated in commit comment)

cherry-picked from 0.4.14-dev-1167-g
8bb9434d3e

and CORE-15557 "disabled scrollbars being clickable"
gets fixed as well due to squash of 0.4.14-dev-243-g
19fbdda95c
2020-03-12 23:10:35 +01:00
Joachim Henze 1e5d33ba25 [0.4.13][WIN32SS] Improve many apps not starting with active taskbar pane (#2396)
Many thanks to the patches author JIRA-user "blueghost"
tibor.fuzi@gmail.com

The patch fixes regression CORE-16703, which was unhidden by explorer commit
8ad0eae687 == SVN r74968
although the root-cause was missing functionality in WIN32SS.

The patch also fixes CORE-16705 and CORE-16706.
Only a few applications still show issues with the taskbar panes,
we have strong indications that other patches in master during
0.4.14-dev'ing already improved the situation further.

This patch (#2396) to date has not been committed to master yet,
but I guess that will happen soon.

TestBot results on 0.4.13-RC-48-g818e5bc:
VBox https://reactos.org/testman/compare.php?ids=71645,71670 LGTM
 KVM https://reactos.org/testman/compare.php?ids=71646,71671 LGTM
2020-03-05 02:32:33 +01:00
Joachim Henze 818e5bc752 [0.4.13][PRINTING] Fix regression CORE-16622 in comdlg32:printdlg ANSI
A very nice set of patches done by Doug Lyons!, Jim Tabor, Colin Finck
to fix:
- a crash on the testbots for comdlg32:printdlg
- erroneous behavior of PrintDlg in _A()-application "Kompozer", namely
  - prevents exceptions from being thrown when opening the print dlg
  - prevents heap allocations of 0 byte size when opening the print dlg
  - prevents a help-button that should be invisible from overlapping other controls
  - allows Kompozer to extend the print-dialog with additional controls
  - allows combobox to show the printers name, instead of memory garbage

[PRINTING] Improve Stubs for GetPrinterA and GetPrinterDeviceA (#2274)
cherry picked from commit 0.4.14-dev-849-g
acec69a1d7

[WINSPOOL] Add Implementation of EnumPrintersA (#2273)
cherry picked from commit 0.4.14-dev-878-g
e8b177825b

[FORMATTING] Fix indentation of winspool/printers.c
No code changes
cherry picked from commit 0.4.14-dev-879-g
45f39ffc25

[PRINTING] Part of GDI Support
Fix ups and added support to prevent GDI from crashing. These functions
will be required for GDI.
Part 1 of print support.
cherry picked from commit 0.4.14-dev-880-g
adffa8ea75

[WINSPOOL] printers.c: Demote 3 ERR() to TRACE(), Fix 1 copypasta (#2311)
cherry picked from commit 0.4.14-dev-889-g
06f8f80181

[WINSPOOL] Implement GetPrinterDriverA and a helper function UnicodeToAnsiInPlace (#2317)
cherry picked from commit 0.4.14-dev-957-g
d90beaeed2

[WINSPOOL] Fix build
cherry picked from commit 0.4.14-dev-958-g
8da7fbc704

[GDI32] GdiConvertToDevmodeW:
Import WINE commit 32393796bb534e9cf11dd988dce88722c67f7906
("gdi32: GdiConvertToDevmodeW should not refer to unintialized name bytes.")
This makes our GdiConvertToDevmodeW equivalent to the WINE counterpart again.
cherry picked from commit 0.4.14-dev-1031-g
5d8c39753e

[WINSPOOL] Implement DocumentPropertiesA including DEVMODE conversions (#2339)
Co-authored-by: Doug Lyons <douglyons@douglyons.com>
Co-authored-by: Colin Finck <colin@reactos.org>
cherry picked from commit 0.4.14-dev-1035-g
3077c0e43e
2020-02-27 03:02:21 +01:00
Joachim Henze bb9997cbd4 [0.4.13][NTUSER] Fix regression CORE-11828
Fixes symptom "mouse pointer vanishes when closing
applications via x in title-bar"

The bug in WIN32SS was unhidden by SVN r65496 == git
5c1a8109c8
, when we introduced explorer_new. The old explorer
had a workaround built within.

Many thanks to patches author James Tabor.
cherry picked from commit 0.4.14-dev-1012-g
820dbfccd0
2020-02-23 14:00:51 +01:00
Joachim Henze 051f49f9f9 [0.4.13][FREETYPE] Fix regression fonts in Adobe Photoshop CS2 menu CORE-16694
By Reverting beginnings of raster-fonts-works (*.fnt and *.fon)
Thanks Katayama Hirofumi MZ for helping with this revert.

The regression was introduced by 0.4.13-dev-681-g
ae99df1675

The fix is a slightly adopted backport of 0.4.14-dev-1009-g
99ba7ea95f
2020-02-23 12:25:54 +01:00
jimtabor 99dde2aa60 [0.4.13][GDI32] Use Gdi Flush for SetViewportOrgEx
Fixes offset in combo texts and menu highlights.
Fixes CORE-16656 and regression CORE-16644,
which appeared by 0.4.13-dev-209-g
dc7f4f682f

No official release ever was affected fortunately.

cherry picked from commit 0.4.14-dev-966-g
c89e111c6a
2020-02-16 17:10:06 +01:00
jimtabor 05225f1d20 [0.4.13][NtGDI] Use Vis Region for New Clip Region CORE-16680
Fixes a regression on drawing Wnd background in Solitaire
with VBOX Guest Additions GPU driver with enabled acceleration

Rolling back to Vis, wine throwback. See CORE-16680.

Regression was introduced by 0.4.13-RC-40-g
63f46f3fde

Fix was cherry picked from commit 0.4.14-dev-935-g
2903022199
2020-02-10 18:56:09 +01:00
James Tabor 63f46f3fde [0.4.13][NTGDI] Fix regression CORE-16626
This will fix symptom "MPC HC 1.7.13 does not draw
part of its GUI anymore"

Fix clip region merging.
Use a new region while merging from the original.

The regression has been introduced by 0.4.13-dev-208-g
94b4b5c127

Fixing it today for RC means, we had not a single affected
official ros release.

cherry picked from commit 0.4.14-dev-830-g
4927905eeb
2020-01-21 01:06:42 +01:00
Joachim Henze aa2b39c872 [0.4.13][WIN32SS] Fix Opaque Text Fade while in Desktop Startup
This fixes CORE-16498, which got considerably more severe by
0.4.13-dev-209-g
dc7f4f682f

Thanks to the patches author Jim Tabor.
I merged manually analog 0.4.14-dev-594-g
5214a38fd0
2019-12-10 00:04:19 +01:00
Katayama Hirofumi MZ 9a845598dc [0.4.13][WIN32SS][NTUSER][USER32] Fix menu checkmarks (#2009)
This will fix regression CORE-16470
"Black squares in menubar of Abiword 2.6.8"

This is a partial revert of the guilty rev 0.4.13-dev-702-g
1e91a1690d
- Don't change background mode.

And is an addendum to CORE-13211.

test results LGTM:
https://reactos.org/testman/compare.php?ids=69593,69596 VBox
https://reactos.org/testman/compare.php?ids=69594,69597 KVM

fix cherry picked from commit 0.4.14-dev-186-g
b3033b81a4
2019-11-01 02:12:03 +01:00
Joachim Henze c13224e68c [0.4.13][WIN32SS] Fix last user visible parts of regression CORE-10855
When Themesvc was disabled, some Window titlebar
frames were drawn too thin until the window
was actively resized in y by the user.

That and similar symptoms started to show up after SVN r68904 ==
6dfa71c487

Many thanks to patches author Doug Lyons.

We leave the ticket unresolved still due to explicit request of
James Tabor, who wants to continue working in that context.

cherry picked from commit 0.4.14-dev-121-g
9e14a762d5
2019-10-25 00:45:44 +02:00
Joachim Henze 609f2aeeb7 [0.4.13][WIN32SS] Fix regression CORE-16306 PR-1943
Symptom:
The menu popup position for language selection in UltraIso regressed

It regressed by 0.4.13-dev-791-g
a59df3858c

Many thanks to the author Mark Jansen.

The fix has not been committed to master yet, but I hope
the PR will be merged during the next days as well.
2019-10-12 03:35:47 +02:00
Joachim Henze 0a03b36aee [0.4.13][WIN32SS] Fix regression CORE-16393
Symptom "cmd did not hide the taskbar anymore when switching to fullscreen"

It regressed by SVN r75407 == git
09ab5ea7ed

VBox LGTM https://reactos.org/testman/compare.php?ids=69295,69297
 KVM LGTM https://reactos.org/testman/compare.php?ids=69296,69298

Many thanks to the patches author James Tabor.

cherry picked from commit 0.4.14-dev-38-g
96ef605f4b
2019-10-11 23:26:27 +02:00
Thomas Faber bff758f3da [0.4.13][WIN32SS] Mask WndProc exceptions to hide all tickets linked to CORE-11915
my testcase: this allows opening an exe/dll with MsDepends (CORE-12052)
Unfortunately still necessary, luckily still effective
and also reliably hides a lot of other crashes due to uncaught exceptions

like in last releases
cherry picked from commit bca25b10b4
2019-10-01 21:11:49 +02:00
James Tabor 1f78e8ec47 [Win32SS] Support Module Versioning.
Set the appropriate flags supporting versions of software modules.
Fix arguments for getting desktop DC.
2019-09-24 17:40:18 -05:00
James Tabor c57d4d7b9e [User32|Tests] Sync Port Wine Combo Controls.
Need to cross check these changes with WINE ComCtl32 before you PANIC
HACK!!!!

Not in order:
Piotr Caban : Remove unneeded RECT parameter from CBPaintText helper.
              Don't invalidate ComboBox on CB_SETCURSEL message.
Don't invalidate ComboBox on LBN_SELCHANGE and
LBN_SELCANCEL.
              Add more CB_SETCURSEL tests on ComboBox.
              Redraw combo text field even if it's empty.
Let ComboBox edit control handle the redraw even if
CBF_NOREDRAW is set.
Don't do the painting if combobox is not visible in
CBPaintText.

Dmitry Timoshkov : 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.
Ref :
2d9e3236ea

Fabian Maurer : Set listbox popup height correctly and add tests.

                Properly set dropdown height.

             Now that user32 and comctl32 combo are separated,
             this won't lead to a regression anymore
             Ref :
3d0be0bad8
             Info by Sebastian Lackner Ref:
f0fc034997

Nikolay Sivov : Remove some misleading TODOs and confusing comments.
2019-09-21 08:47:56 -05:00
Katayama Hirofumi MZ 81e27f0be7
[WIN32SS][NTUSER] Fix hit test position of popup menu
The submenu of desktop popup menu was erroneously shown at first right click.
- Fix the hit test position that was modified by window style change.
CORE-16382
2019-09-21 18:21:17 +09:00
Stanislav Motylkov b16ca9cd65 [WIN32SS][NTUSER] Fix debug print in winpos.c (#1893) 2019-09-12 15:53:29 +02:00