Commit graph

1087 commits

Author SHA1 Message Date
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
c437ff6128 [0.4.14][WDMAUD.DRV][MMIXER] Improve AC97 driver from rapps by defining USE_MMIXER_LIB
By taking alternative code-paths in WdmAud and bypassing Sysaudio.
This is my 2nd attempt to commit that.

This is a squashed backport of:
0.4.15-dev-791-g 6d7ebc2048 the USE_MMIXER_LIB which gives the best results when paired with those 2 previous patches:
0.4.15-dev-765-g b8e936a57b CORE-17214 (#3148) wdmaud-racecondition-fix and
0.4.15-dev-796-g a27f0debca CORE-17276 winmm:mixer-testbot-crash-fix

Defining USE_MMIXER_LIB will fix/improve:
- the test execution times of "GCCLin_x86 on Test VBox" will be dramatically improve (iirc by ~10-15min)
- CORE-8726/CORE-9986/CORE-16564 AC97 driver from rapps will work in the same session that the driver is installed, not a single reboot is needed anymore
- CORE-13202 Unhandled exception from wdmaud.drv when recording sound in Scratch 1.4 leads to app-crash (gets fixed even for older builds that did not receive 0.4.15-dev-2794-g 81f8bce yet)
- CORE-13488 A deadlock in "DiabloII" character selection screen and "The Lion King II"
- CORE-9981 "DosBox + Commander Keen6" almost 100% fixed, DosBox + Commander Keen6 properly plays music instead of garbled output,
            same improvement for "ScummVM 2.0 with Monkey Island 2"

The playback is not yet *entirely* perfect, still a few hiccups now and then, but by orders of magnitude better than before.

Defining USE_MMIXER_LIB will also have some negative aspects:
- CORE-17277 crash of dsound:duplex on "GCCLin_x86 on Test VBox" gets unhidden on the bot, but was proven to be broken even beforehand already. The driver beforehand was just not found and the tests were skipped therefore.
- CORE-17278 crash of dsound:capture on "GCCLin_x86 on Test VBox" gets unhidden on the bot, but was proven to be broken even beforehand already. The driver beforehand was just not found and the tests were skipped therefore.
- It may also have a negative impact for CORE-17285 "Realtek HD Audio" but Oleg Dubinsky accepted to tolerate that and aims to approach it differently. I will resolve that as WontFix now.
2021-08-30 17:46:11 +02:00
Julio Carchi
3c1d046fde [0.4.14][CMAKE][BOOTDATA] Fix LiveCD does not import caroots.inf into registry CORE-17739 CORE-17735 (#3930)
It regressed by 0.4.9-dev-82-g 6158207c31

fix picked from 0.4.15-dev-3082-g 2268b33e18)
2021-08-30 13:12:28 +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
d28122e154 [0.4.14][DSOUND][WAVE] Workaround crash when recording sound in Scratch 1.4 CORE-13202
It regressed by SVN r44721 == git 356d4bab16092de335705e02b0e87698ec35c393
when #define USE_MMIXER_LIB was removed.

Thanks to the patches author Doug Lyons.

VBox https://reactos.org/testman/compare.php?ids=77914,77919 LGTM
 KVM https://reactos.org/testman/compare.php?ids=77913,77918 LGTM

fix picked from 0.4.15-dev-2794-g 81f8bcea8c
2021-06-27 23:07:07 +02:00
Joachim Henze
44e1f96e57 [0.4.14][SYSDM] Restore the general tabs layout and soft localization update
Although the new layout that I committed in the previous commit
was favored by community ratings votes 8:0,
some devs still preferred the old layout with the bigger logo
because they liked the easteregg. So this commit restores
that.

But it syncs to that features latest&greatest implementation
we have in 0.4.15-dev-1685-gd0c237a instead of reverting the
previous commit to not unnecessarily have many bugs with it
that were still affecting the older releases beforehand.

Aside from the general tabs dialogs layout this commit does
also fix some minor issues in the translations for the oldest
branches in pl-PL, jp-JA, zh-CN and zh-TW.

And it fixes an x64 issue in general.c for 0.4.7 and 0.4.8.
2021-02-01 21:44:40 +01:00
Hermès Bélusca-Maïto
3461c592ab [0.4.14] Happy New Year 2021 to the ReactOS Community!!
picked from 0.4.15-dev-1523-g b570fac
2021-01-01 00:20:51 +01:00
Joachim Henze
6a6672d029 [0.4.14][APISETS][RDBSSLIB][RTL][DISK_NEW] Fix all build issues for MSVC Rls-config CORE-17402
Allows to complete the whole 'ninja bootcd' after 'configure -DCMAKE_BUILD_TYPE=Release'
for compiler MSVC 2010SP1 16.0.40219.1 with RosBE 2.1.6

Similar to the fix committed in 0.4.15-dev-1453-g 4ad7b6d
2020-12-17 13:36:20 +01:00
Serge Gautherie
8ab328b53a [0.4.14][CMAKE] MSVC RUNTIME_CHECKS is a 'Debug'-only feature
"cl : Command line error D8016 : '/Ox' and '/RTC1' command-line options are incompatible"
in MSVC builds with Release Configuration

Addendum to 0.4.14-dev-1373-g 92dfec219d

fix picked from commit 0.4.15-dev-1186-g a2a6038e56
2020-12-14 15:17:33 +01:00
Thomas Faber
4111dfa8bf [0.4.14][RTL] Optimize RtlpFindAndCommitPages CORE-14588
A squashed backmerge of 3 commits authored by Thomas Faber.
They do help to speed up RosBE2.1.6 within ReactOS.
'configure' runs faster by ~ factor 5.
'ninja bootcd -j1' runs faster by ~ factor 2.
I considered back-porting that a necessity because we
considerably lost speed over the last years in those scenarios.
I tested, and it works well also in the 0.4.14RC.

0.4.15-dev-309-g
10d23614d3
Use LastEntryInSegment to speed up RtlpFindAndCommitPages. CORE-14588
--------------------------
0.4.15-dev-307-g
1b7a4b3ebf
Add and populate LastEntryInSegment. CORE-14588
--------------------------
0.4.15-dev-306-g
78dddd125c
Create a define for the common members of HEAP and HEAP_SEGMENT. CORE-14588

The code relies on these members matching up, so it's confusing for them
to be duplicated.
2020-09-25 22:04:30 +02:00
Joachim Henze
b30846ab77 [0.4.14][SDK][NDK][PSTYPES] Fix regressions CORE-17247 & CORE-17106
By reverting the guilty rev 0.4.14-dev-1239-g
7481bda679

and placing a C_ASSERT() to protect us from doing the
same fault again in the future. (proposed by Mark Jansen)

This will allow again to use kernel32.dll from 2k3sp2 to
reach desktop and it will allow Google Earth to run again.

Unfortunately it will break CORE-16757 again,
but we did not ship that improvement yet
and we believe that revert to be correct.

When approaching CORE-16757 later, make sure to double-check
also CORE-17247 & CORE-17106 with your fix.

We did excessive testing here, see
https://jira.reactos.org/browse/CORE-17247?focusedCommentId=125166&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-125166

fix cherry picked from commit 0.4.15-dev-730-g
abbe656407
2020-09-07 22:22:56 +02:00
Thomas Faber
8e961a1158 [0.4.14][XDK] Avoid defining interlocked intrinsics. CORE-17190
Fixes build with MSVC 19.27+.

cherry picked from commit 0.4.15-dev-510-g
960511094b
2020-08-14 19:20:46 +02:00
Thomas Faber
eac5f78b44 [0.4.14][CPPRT][CRT] Avoid extern assembly declarations with no type. CORE-17088
Fixes build with ML 14.26.
Backport was recommended by Thomas Faber. I can not retest that compilation myself.

cherry picked from commit 0.4.15-dev-319-g
e4066536c2
2020-06-07 22:32:04 +02:00
Joachim Henze
8e17342c8c [0.4.14][SYSSETUP] Fix broken build on RosBE2.1.6 CORE-17028
The build broke due to a typo introduced by
0.4.15-dev-275-g
612729b092

../dll/win32/syssetup/wizard.c: In function 'ProductPageDlgProc':
../dll/win32/syssetup/wizard.c:527:5: error: ISO C90 forbids mixed declarations and code [-Werror=declaration-
after-statement]
cc1.exe: all warnings being treated as errors

fix cherry-picked from 0.4.15-dev-278-g
4cbb21761c
-------------------------
[0.4.14][SYSSETUP][BOOTDATA] Make Server default again and write Service Pack (#2749)

- Make "ReactOS Server" the default product option again instead of "ReactOS Workstation".
- Write "Service Pack" info onto registry.
- Add ProductOption option to bootcd unattend.inf.
- Delete IDC_PRODUCT_SUITE and IDC_PRODUCT_TYPE controls.

To fix regression with Visual Studio 2010 setup CORE-17028

I took 2 translation files in their most recent version from master 0.4.15-dev-275-g
612729b to prevent having to resolve any conflicts manually:
tr-TR.rc
uk-UA.rc

cherry picked from commit 0.4.15-dev-275-g
612729b092
2020-05-19 22:44:51 +02:00
Mark Jansen
e13ff4aeb8 [0.4.14][SHELL32] Properly enumerate virtual shell folders (on files) as fake folders
part of the fix for CORE-16908
"Unable to select a Zip file for sending with Common Open Dialog"
which was unhidden by 0.4.9-dev-632-g
da6a46c6ac

fix cherry-picked from commit 0.4.15-dev-252-g
f379a29606
2020-05-19 02:11:08 +02:00
Joachim Henze
8d60d2e115 [0.4.14][NTOSKRNL] Restore section layout for NTOSKRNL to fix BSOD regression CORE-14683
This version (after .rsrc) works different than the
proper version I used for 0.4.12 (after .reloc).

Inserting after .rsrc is actually not correct, but Thomas believes it can
be used as a temporary trick to avoid random memory corruption upon
relocations of the kernel, caused by ROSBE-154.

I follow his advice, although when judging from practical tests only:
as long as we limit this script to NTOSKRNL like I do for releases
there have no negative consequences been observed in real life yet
even with the proper version of 0.4.12.
Up to now those problems have only been observed when used for drivers
MODULE TYPE sdk/cmake/gcc.cmake as well, like
it was tried for a moment in master 0.4.13-dev-609-g
c4d8e2a6e9

Using for drivers immediately did lead to BSODs like CORE-16183 and therefore was
mitigated in master by total disabling of the scripts for both,
kernel and drivers in
0.4.13-dev-621-g
36e9a6f8dd

To allow installing DVDWritenow without BSOD,
we need the script at least for ntoskrnl!

I committed this patch (after .rsrc) already into 0.4.13RC and master
cherry picked from commit 0.4.15-dev-220-g
d28677795e
2020-05-13 17:14:27 +02:00
Joachim Henze
5d7dbc8a4e [0.4.14] Branch releases/0.4.14 & change KERNEL_VERSION_BUILD_TYPE "RC" 2020-04-24 22:16:48 +02:00
Thomas Faber
b01a480163
[LIBXSLT] Update to version 1.1.34. CORE-16952 2020-04-24 14:45:03 +02:00
Thomas Faber
f22fa382fe
[LIBXML2] Update to version 2.9.10. CORE-16952 2020-04-24 14:44:52 +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
774ef4e80e
[SDK][RTL][NTDLL_APITEST] Add RtlMultipleAllocateHeap and RtlMultipleFreeHeap (#2641)
- Add RtlMultipleAllocateHeap and RtlMultipleFreeHeap functions (2k3+).
- Add a testcase for two functions.
CORE-12026
2020-04-24 17:45:43 +09:00
Nguyen Trung Khanh
4c37757e81
[NETKVM] Import NetKVM network adapter driver by Red Hat
CORE-15841
2020-04-23 16:33:09 +03:00
Victor Perevertkin
194ea909fd
[BTRFS][UBTRFS][SHELLBTRFS] Upgrade to 1.7.2
CORE-16679
2020-04-23 07:07:36 +03:00
Thomas Faber
c58d7a6df6
[MBEDTLS] Update to version 2.7.15. CORE-16869 2020-04-22 12:37:25 +02:00
Katayama Hirofumi MZ
4efff7f463
[SHELLEXT][MYDOCS][INF] Add mydocs.dll and .mydocs file extension (#2624)
I found "SendTo My Documents" is realized by .mydocs filename extension in WinXP/2k3. To implement this, I will add mydocs.dll file. CORE-12562
2020-04-22 19:34:15 +09:00
Hermès Bélusca-Maïto
bbdb0ab6a8
[TZLIB] QueryTimeZoneData(): Don't fail if the optional values "Display", "Std", "Dlt" are missing (or too long to be captured). However fail if the timezone information is missing. 2020-04-22 00:58:32 +02:00
Hermès Bélusca-Maïto
7c3e96a26a
[TIMEDATE.CPL][SYSSETUP][TZLIB] Introduce a small static library "tzlib": "TimeZone Utilities Library", and use it in timedate.cpl and syssetup.dll.
This small win32 library provides time-zone utility wrappers around
Win32 functions, that are used by different ReactOS modules such as
timedate.cpl, syssetup.dll, and a possible future 'tzutil' tool.

The code has been extracted from the common code found in both
timedate.cpl and syssetup.dll.
2020-04-22 00:58:32 +02:00
Charles Ambrye
c82ba3485e [SHELL32] Modify context menu to include Align To Grid, and remove Line Up Icons
Implement support for using Align To Grid, which itself simply sets the LVS_EX_SNAPTOGRID extended style of the list view control
2020-04-20 23:13:09 +03:00
Mark Jansen
2157838572
[PEFIXUP] Improve error messages 2020-04-19 15:19:03 +02:00
Sylvain Deverre
7f6246e660 [CMAKE] Fix SEPARATE_DBG build on GCC 2020-04-19 13:00:18 +02:00
Dmitry Borisov
61d966bf1a
[FREELDR] Fix typos and PC-98 boot (#2564)
- INT 18h, AH=A0h doesn't exist, it was meant to be AH=0Ah. Thanks to SimK (@simk98l) on twitter for bug reporting and fix.
- Adress -> Address.
2020-04-17 20:27:20 +02:00
Mark Jansen
0b948581fc
[SDK][HOST-TOOLS] Add load_config workaround for gcc builds
Since binutils can not add this, we re-introduce pefixup.
It searches for the exported symbol '_load_config_used',
and uses that to fill out the LOAD_CONFIG directory in the PE header
2020-04-17 17:47:24 +02: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
Bișoc George
12d4409086
[SDK][PSDK] Add a version check for DiskGeometryGetPartition and DiskGeometryGetDetect and add a missing member to PARTITION_INFORMATION_EX structure (#2541)
DiskGeometryGetPartition() and DiskGeometryGetDetect() are guarded in NTDDI_VERSION for version checking as they differ between Windows XP and Server 2003. In conjunction to that, the PARTITION_INFORMATION_EX structure has "IsServicePartition" as member which is missing in the current NT IOCTL Disk interface header.
2020-04-15 12:47:01 +02:00
Hermès Bélusca-Maïto
37b2c1450c
[CSRSRV] s/LPWSTR/PWSTR/ as the former is not NT type. 2020-04-15 02:06:57 +02:00
Katayama Hirofumi MZ
2727245c86
[SHELL32] Shell notify rework for simplicity and readability (#2539)
Shell change notification has been implemented in #2432. But as @yagoulas said, source code structure is in mess. We improved simplicity and human readability of our source code.
- Move wine/changenotify.c code into changenotify.c and shelldesktop/CChangeNotify.cpp.
- Simplify code and rename the identifiers and add many comments. CORE-13950
2020-04-13 10:36:24 +09:00
Andreas Maier
ae0bc81a96 [PSDK] fix typedef PLSA_AP_CALL_PACKAGE_PASSTHROUGH (ntsecpkg.h) 2020-04-12 16:26:13 +03: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
Victor Perevertkin
92dfec219d
[CMAKE][CONFIGURE] Enable runtime checks on MSVC by default.
Remove RTC switch from configure.cmd, now MSVC runtime checks are
supposed to be enabled/disabled via CMake define (-DRUNTIME_CHECKS=1)
Prepare for adding more dynamic analysis options
2020-04-11 02:48:12 +03:00
Hervé Poussineau
033102fdb1 [NTOS] Add a #define __ROS_ROSSYM__ when using rossym
Use it where needed.
2020-04-09 23:00:57 +02:00
Hermès Bélusca-Maïto
6f67132686
[LIB:ARBITER] Addendum to 374f2b4d: Fix build.
- No need to use a PCH when compiling a 1-file library.
- Add the _NTSYSTEM_ definition.

- Since the arbiter.h file is to be included by the users of this
  library, namely only kernel-mode NT components (incl. NTOS), there
  is no need to include the standard kernel-mode headers in it.
  Include these headers instead in the private implementation of the
  library, arbiter.c.
2020-04-09 20:41:17 +02:00
Vadim Galyant
374f2b4d98
[NTOS][SDK:LIB] Add a Resources Arbiter library, to be used by bus drivers (acpi, pci), kernel and legacy hal (PIC HAL). (#2471) 2020-04-09 19:41:11 +02:00
Hermès Bélusca-Maïto
21362c8e86
[SDK:SUBSYS] conmsg.h: Some DWORDs -> ULONGs. 2020-04-09 16:05:27 +02:00
Hermès Bélusca-Maïto
7e0927a39f
[FLTMGR][NDK] Fix typos. 2020-04-09 16:05:26 +02:00
Dmitry Borisov
5f2ca473dc
[BOOTVID] Code refactoring. (#2510)
- Abstract the VGA and LCD code.
- Create a common file for all platforms.
2020-04-09 15:56:16 +02:00
Dmitry Borisov
1610367fe2
[BOOTVID][NTOSKRNL][HALX86] Move hardcoded coordinates of bootvid into one place. (#2504)
Co-Authored-By: Hermès Bélusca-Maïto <hermes.belusca-maito@reactos.org>
2020-04-09 15:17:48 +02:00
Victor Perevertkin
0d187f7d56
[CMAKE] Add --gc-sections flag to GCC linker.
This returns C++ binaries size to normal (on GCC 8.4).
I don't see any noticable effect of this on GCC 4.7.2

CORE-16670
2020-04-09 04:02:06 +03:00
Katayama Hirofumi MZ
296192685b
[SHELL32] Implement shell change notification (#2432)
- Rewrite SHChangeNotify, SHChangeNotifyRegister, SHChangeNotify_Lock, SHChangeNotify_Unlock and SHChangeNotifyDeregister functions.
- Fix SHSimpleIDListFromPathA/W functions.
CORE-13950
2020-04-09 07:30:14 +09:00
Victor Perevertkin
167fa2c26a [TCPIP] Remove duplicate declarations from ticonsts.h 2020-04-07 05:32:40 +03:00
Victor Perevertkin
d5ad2057d7 [SDK][IP] Pass IP options to ReceiveDatagramHandler 2020-04-07 05:32:40 +03:00