Commit graph

642 commits

Author SHA1 Message Date
Joachim Henze
cde9eea79e [0.4.14][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:35:13 +02:00
Joachim Henze
c819d4ac07 [0.4.14][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:05:19 +02:00
Joachim Henze
a3eb36f721 [0.4.14][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
2023-03-19 11:37:37 +01:00
Joachim Henze
207c90a52e [0.4.14] 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)
2023-03-12 10:48:44 +01:00
Joachim Henze
6247a4509a [0.4.14][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.
2023-02-25 03:34:29 +01:00
Joachim Henze
38dd7d8094 [0.4.14][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:33:06 +01:00
Joachim Henze
497261a758 [0.4.14][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:06:56 +01:00
Joachim Henze
f56cc2310c [0.4.14][NTUSER][USER32] Scrollbar improvements
by porting back 2 fixes:

0.4.15-dev-5355-g 0484beb04b [NTUSER] Don't redraw scrollbar if it is hidden (#4849) CORE-18593
0.4.15-dev-3875-g 977c129f33 [USER32] SetScrollPos should not bypass UserApiHook (#4372) CORE-18048

Both regressions were caused/unhidden by 0.4.14-dev-1134-g 00adb1a3f9
2023-01-11 05:55:43 +01:00
Joachim Henze
e1dd4e3e15 [0.4.14][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:43:35 +01:00
Joachim Henze
875b9e7c4f [0.4.14][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:05:12 +01:00
Joachim Henze
90505bc2e5 [0.4.14][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:09:58 +01:00
Joachim Henze
1b0b8527eb [0.4.14][NTUSER][3DTEXT] Squashed backport CORE-17866, CORE-8217
The main part in [USER32] was already committed into 0.4.14-RC-123-g 75e9ac7727
but we do have two follow-ups that are worth picking as well:
---------------------
[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 12:23:20 +01:00
Joachim Henze
e6038e0e7d [0.4.14][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

It was commented out already via 0.4.14-dev-1519-g 87f6c82d85 (2020-04-21)
Final Removal picked from 0.4.15-dev-3780-g bf16435303 (2022-02-05)
2022-02-05 01:54:48 +01:00
Joachim Henze
7c237e893c [0.4.14][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.

Fix picked from 0.4.15-dev-3422-g db810d8e44
2021-11-30 17:24:12 +01:00
Joachim Henze
6c65c690ff [0.4.14][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
2021-11-30 12:16:48 +01:00
Joachim Henze
9c4890a772 [0.4.14][WIN32K] Fix 'use after free' in NtGdiStretchDIBitsInternal #4122 CORE-17861
CORE-17861 Symptom: 'MS Visual Studio 2010 Pro Fatal System Error 0x00000050'

It regressed by 0.4.15-dev-2850-g 847b037fe9
which was ported back into 0.4.14-RC-84-g 4295544598

The fix was ported back from 0.4.15-dev-3420-g b538b9abb8
2021-11-23 21:56:13 +01:00
Joachim Henze
75e9ac7727 [0.4.14][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
2021-11-20 20:31:18 +01:00
Joachim Henze
bdb4fb93fa [0.4.14][WIN32K] Fix a weird control character in dibobj.c CreateDIBPalette() CORE-17848 2021-11-15 03:08:38 +01:00
Joachim Henze
6acacb7cec [0.4.14][NTUSER][USER32] Workaround tracking menu on CORE-17338 (#4048)
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.

Fix picked from 0.4.15-dev-3313-g 6417b2323d
2021-10-23 23:38:54 +02:00
Joachim Henze
065e47d87d [0.4.14][NTUSER] Scrollbar.c, Avoid potential out-of-bounds-accesses in co_IntSetScrollInfo() CORE-17777
This is an addendum to
0.4.15-dev-3174-g dda9c3979e CORE-17769 and
0.4.15-dev-3147-g 3bf7e3ac13 CORE-17754 CORE-17755

We have not seen this happening in real-life yet, but some code-fragments within co_IntSetScrollInfo()
e.g. line 628 if (nBar == SB_CTL) do clearly indicate that nBar can be 2 (SB_CTL).
Some lines below we definitely must not access those 4 static arrays out of bounds then via nBar as access index!

Ftr with a bit of grepping I also found some calls like NtUserSetScrollInfo(Wnd, SB_CTL, &Info, FALSE);
e.g: in win32ss/user/user32/controls/scrollbar.c so I am pretty sure nBar == 2 can happen in practice within co_IntSetScrollInfo().

I question whether any of those reads/writes to those static arrays (or the comparisons) would make any sense on index 2,
so we should aim to eliminate them altogether in the future.

fix picked from 0.4.15-dev-3175-g 222acf5a3e
2021-09-20 03:14:01 +02:00
Joachim Henze
245124df86 [0.4.14][NTUSER] Scrollbar.c, improve co_IntSetScrollInfo() CORE-17769, and an integer underflow
squashed backport of:
0.4.15-dev-2375-g ffea5152e6 integer underflow and
0.4.15-dev-3174-g dda9c3979e CORE-17769

Fixes CORE-17769 'Rapps Listview manual resize may erroneously not draw the triangles sometimes'
This could happen for both: themed and unthemed.

CORE-17769 was a regression introduced by 0.4.14-dev-1134-g 00adb1a3f9

We don't really like the added state in form of the static variables,
but the patch works good from a pure testing-perspective.

Many Thanks to the patches author: Doug Lyons
2021-09-19 23:37:34 +02:00
Joachim Henze
2671cc4d9d [0.4.14][UXTHEME][NTUSER] Improve Themed Scrollbars (#3868) (#3953)
Squashed backport of:
0.4.15-dev-3086-g 236649c626 (#3868) and
0.4.15-dev-3147-g 3bf7e3ac13 (#3953)

to fix some regressions for themed scrollbars that were introduced by
0.4.14-dev-1134-g 00adb1a3f9

fixes all or most parts of CORE-16735 without introducing CORE-17754 and CORE-17755
2021-09-12 23:57:27 +02:00
Joachim Henze
4295544598 [0.4.14][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.

fix picked from 0.4.15-dev-2850-g 847b037fe9
2021-07-03 08:25:26 +02:00
Joachim Henze
33f4311f6c [0.4.14][PROGMAN][CRT][USER32] Do not use LoadLibraryEx() NT6+ flags (#3152) CORE-12004
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
2021-07-02 19:15:10 +02:00
Joachim Henze
38322f9b14 [0.4.14][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.

Thanks to the patches author Doug Lyons.

a squashed port of
0.4.15-dev-2776-g 4130f0b1c5 (compilation fix)
0.4.15-dev-2775-g c596fd3ef6 (improvement #3758)
0.4.15-dev-2734-g 514147776a (fixes the BSOD)
2021-06-25 12:01:03 +02:00
Joachim Henze
591b517fc6 [0.4.14][WIN32K] Revert incorrect part of R50928 for RealizePalette. (#3678)
Revert incorrect code for Realize Palette
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 patch also fixes 2 crashes on each bot, although
it was not targeted for that explicitly:
KVM: https://reactos.org/testman/compare.php?ids=77304,77308 LGTM
VBox: https://reactos.org/testman/compare.php?ids=77305,77309 LGTM

Thanks to the patches author Doug Lyons.

picked from 0.4.15-dev-2735-g c7954134d0
2021-06-22 00:00:35 +02:00
Joachim Henze
99f203c36f [0.4.14][NTUSER] DVD Write Now 1.5.12 SP2 setup has no taskbar pane CORE-15669
This is a sane addendum to 0.4.14-RC-67-g ef623b1616
by porting back the following master commits:

[WIN32SS][NTUSER] ShowWindow.SW_MINIMIZE should show window (#3700)
- user32!ShowWindow.SW_MINIMIZE should show the window.
- Fix the return value of ShowWindow function on invalid parameter.
CORE-15669
picked from 0.4.15-dev-2621-g 59d4c11203

[WIN32SS][NTUSER] Improve HSHELL_WINDOWCREATED condition (#3697)
Modify the condition of generating HSHELL_WINDOWCREATED, especially on WS_CHILD window style. CORE-15669
picked from 0.4.15-dev-2618-g 32b0cf6fc6

[USER32_APITEST] Add ShowWindow testcase (#3689)
Investigate the implementation of user32!ShowWindow. CORE-15669
picked from 0.4.15-dev-2616-g a8ed286c86

[SHELL32_APITEST] Strengthen and improve ShellHook testcase (#3687)
- Add tests to find the missing parameters against HSHELL_WINDOWCREATED conditions.
- Improve code readability. CORE-15669
picked from 0.4.15-dev-2611-g d21adc9b31
2021-06-02 04:33:27 +02:00
Katayama Hirofumi MZ
ef623b1616 [0.4.14][NTUSER][SHELL32_APITEST] Fix regressions with taskbar panes CORE-17330 (#3289) (#3294) & CORE-13584
fixes CORE-17330 'Regression, many installers that should have only 1 taskbar pane, now have 2 of them erroneously'
which was introduced by 0.4.14-dev-369-g 141cf04239
and made ros behave a lot different than previous and future releases would perform.
The main fix was picked from 0.4.15-dev-1126-g 58b0558f94 (#3294)
and the new ShellHook testcase from 0.4.15-dev-1123-g 0089291751 (#3289)
The implementation atm passes all those 384 new ShellHookTests.

Beside that it entirely fixes the very old:
CORE-13584 'Winamp 5.666 erroneously has a secret tab shown in taskbar'

But brings back:
CORE-15669 'DVD Write Now 1.5.12 SP2 setup has no taskbar pane' (which was never working in any earlier release up to now)
but which we had fixed for a very short moment in master since the guilty 0.4.14-dev-369-g 141cf04239
That alone would be no biggy, but it also unhides?/introduces? for me the new:
CORE-17338 'Can not open a context menu in the taskbar pane of Double Commander setup, instantly closes'

Well in sum it is an improvement, but we are not in urgent need of porting it back any further than 0.4.14 yet,
because older releases would only benefit from CORE-13584 'Winamp...'
2021-05-22 03:21:11 +02:00
Joachim Henze
1d8e74d4aa [0.4.14][WIN32SS][COMCTL32] Commit 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"

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 3 parts:

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

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

3.) toolbar.c change
That part fixes at least the toolbar case for DvDStyler
without relying on the comctl32.h hack any longer,
but it was still not enough to completely get rid of part 2.) yet.

Many thanks to all contributors: 'I_kill_Bugs', Doug Lyons and also 'Julenuri' for testing.

The patch gave nice testbot results:
KVM:  https://reactos.org/testman/compare.php?ids=75704,75714
VBox: https://reactos.org/testman/compare.php?ids=75705,75715

and 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 picked from 0.4.15-dev-1603-g 232c45fcd7
2021-01-11 16:42:01 +01:00
Joachim Henze
59b42fab46 [0.4.14][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 449a341
2020-12-19 18:17:22 +01:00
Doug Lyons
286bfe92b2 [0.4.14][WIN32SS] Repaint the whole window frame on some style bits set (#3199)
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
2020-10-28 01:44:25 +01:00
Joachim Henze
398fd51ef3 [0.4.14][WINSPOOL] Properly fix a double free CORE-16715
Addendum to 0.4.14-dev-957-g
d90beaeed2

Many Thanks to the patches author Doug Lyons!

Fix manually ported back from 0.4.15-dev-682-g
dde92f8ffa
2020-08-31 02:21:49 +02:00
Katayama Hirofumi MZ
5a1776933b [0.4.14][WIN32SS] Fix DrawTextExWorker extent for Spotify (#2759)
fixes regression CORE-16747 according to JIRA user 'Oleg Dubinskiy'.
The regression did not reproduce for me when I tested the unpatched
state locally though.

According to Oleg Dubinskiy the regression started to happen in
0.4.14-dev-599-g
2d4d3f5fce

fix cherry picked from commit 0.4.15-dev-204-g
97ccef7761
2020-05-11 21:41:09 +02:00
Mark Jansen
ccdc721c41 [0.4.14][WIN32K] CORE-16993 / (CORE-13019) Mute a DPRINT
which spams and hits performance. It wasn't present in ancient times.

cherry picked from commit 0.4.15-dev-67-g
a98bebb0b0
2020-04-30 00:41:35 +02:00
Thomas Faber
0fbebb8f73 [0.4.14][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 done in all earlier releases since 0.4.3
cherry picked from commit bca25b10b4
2020-04-25 01:44:58 +02:00
Timo Kreuzer
b82bf8ce16
[NTOS:IO] Fix parsing of resource lists
Also add a hack to avoid failing on now occurring resource conflict detection and try to fix at least one resource in ACPI hal.

CORE-10146
CORE-12892
2020-04-24 13:58:09 +03:00
Katayama Hirofumi MZ
52fb8c1a8d
[NTGDI][FREETYPE] Return non-zero gm.gmBlackBoxX/Y (#2643)
In return of GetGlyphOutline function call, gm.gmBlackBoxX and gm.gmBlackBoxY must be non-zero to avoid Division by Zero. At epilogue of ftGdiGetGlyphOutline, we adjust the values. CORE-15949
2020-04-23 22:02:41 +09:00
Joachim Henze
87f6c82d85 [WIN32SS] CORE-16738 Comment an assert
It popped up 2-3 times for me during several
months of ros usage and I could continue without
noticing any side effects.
Giannis who once added it, was 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.
2020-04-21 23:26:47 +02:00
James Tabor
c6fbb8a5ed [Win32SS] Fix build 2020-04-19 18:49:46 -05:00
James Tabor
b9d6c5869d [Win32SS] Fix Send and Post Parameters for WM_DEVICECHANGE
For CORE-16492. See CORE-7447.

See 43197e6641
2020-04-19 18:40:59 -05:00
Victor Perevertkin
7e069ccdb2
[CMAKE] Replace custom functions to built-in ones
add_target_compile_definitions -> target_compile_definitions
add_target_compile_flags -> target_compile_options
add_target_include_directories -> target_include_directories
2020-04-16 15:59:38 +03:00
Hermès Bélusca-Maïto
c05df38e86
[CONSRV] Move process-initialization-specific functions from handle.c into console.c .
- Move ConSrvInitHandlesTable() & rename it ConSrvInitProcessHandles()
  since its purpose is to initialize the standard input, output and
  error handles for a console process.

- Move ConSrvAllocateConsole(), ConSrvInheritConsole() and
  ConSrvRemoveConsole().
2020-04-14 01:19:48 +02:00
Hermès Bélusca-Maïto
2b64d45377
Fix build. 2020-04-13 18:13:42 +02:00
Hermès Bélusca-Maïto
83c238e490
[CONSRV] Convenience fixes.
- Simplify screen-buffers initialization.
- Get rid of this CONSOLE_SCREEN_BUFFER_VTBL virtual table.
- Move ConsoleInput to a proper header.
2020-04-13 16:22:53 +02:00
Hermès Bélusca-Maïto
9261110760
[CONSRV] Introduce a set of macros CON_API / CON_API_NOCONSOLE for wrapping around the repetitive prologue/epilogue of every console CSR API entrypoint.
All the per-API message structure unpacking and console validation done
with ConSrvGetConsole() is now automatically generated using the macros,
so that the actual implementation of each API can be done independently
of how the console object is obtained.

This could also allow reusing these API implementations with a different
mechanism for obtaining the console without changing anything in them.
2020-04-12 16:09:36 +02:00
James Tabor
7772f97241 [User32] Return Default Window Procedure for WM_DEVICECHANGE
See CORE-16492.
2020-04-11 17:58:38 -05:00
James Tabor
1e0bb66452 [User32] Implement Device Event Message handler
Need a way to send WM_DEVICECHANGE from the Service manager application.
Next step is to process it in the Client/Server Run-time Subsystem.
See CORE-16492.
2020-04-11 17:41:26 -05:00
Hermès Bélusca-Maïto
75d0346c54
[CONSRV] Finally fix CONSOLE vs. CONSRV_CONSOLE/WINSRV_CONSOLE stuff. CORE-9496
What remains to be cleared up are the ugly casts.
2020-04-11 16:27:09 +02:00
Hermès Bélusca-Maïto
a3ea0a39f1
[WIN32SS] Get rid of "consrv_new".
Any new features/architectural changes to the console will either be
done in separate branches, or incrementally in master within the
existing console module.
2020-04-11 15:37:27 +02:00
Mas Ahmad Muhammad
b8dd046ee4
[TRANSLATION] Add and update Indonesian translations (#2506)
- CMDUTILS: attrib, label (update translation)
- USETUP (add translation)
- HOTPLUG (add translation)
- CONSRV  (update translation)
- USERSRV (update translation)
- USER32  (update translation)
- ACLUI  (update translation)
- LICCPA  (update translation)
- SUBST  (update translation)
- REGSVR32  (update translation)
- REGEDIT-CLB  (update translation)
- ACPPAGE  (update translation)
- TIMEDATE  (update translation)
- SOLITAIRE  (update translation)
- FDEBUG  (update translation)
- SYSSETUP (update translation)
2020-04-09 18:49:45 +02:00