2 years ago[WIN32SS:NTGDI] Fix missing text in labels and buttons for .NET apps. CORE-15000
Hermès Bélusca-Maïto [Thu, 14 Mar 2019 00:36:45 +0000 (01:36 +0100)]
[WIN32SS:NTGDI] Fix missing text in labels and buttons for .NET apps. CORE-15000

There was a missing break statement in ftGdiGetGlyphOutline().
Found by JIRA contributor 'I_Kill_Bugs' :-)

Add also brackets around 'case's to make code navigation easier.

2 years ago[User32] Support WM_COPYGLOBALDATA
jimtabor [Wed, 13 Mar 2019 17:16:52 +0000 (12:16 -0500)]

Implement support for WM_COPYGLOBALDATA. Needs more tests.

Tested DropTest from CORE-15836.

2 years ago[DOC] Update 3rd party readme file. CORE-15280
Thomas Faber [Tue, 12 Mar 2019 03:45:44 +0000 (04:45 +0100)]
[DOC] Update 3rd party readme file. CORE-15280

2 years ago[MAINTAINERS] Add 3rd party library files that I've been syncing.
Thomas Faber [Tue, 12 Mar 2019 03:45:34 +0000 (04:45 +0100)]
[MAINTAINERS] Add 3rd party library files that I've been syncing.

CORE-15280 CORE-14291 CORE-13739 CORE-13451 ...

2 years agoRevert "[FREETYPE] Fix 3 regressions in one patch"
Joachim Henze [Tue, 12 Mar 2019 17:57:21 +0000 (18:57 +0100)]
Revert "[FREETYPE] Fix 3 regressions in one patch"

This reverts commit 0.4.12-dev-856-g
CORE-15785, CORE-15558, CORE-15755.

As requested by Pierre, we have very strong indication, that it broke and

2 years ago[SETUPLIB][USETUP] Improve disk HW numbering, removable disk support, and "super...
Hermès Bélusca-Maïto [Mon, 11 Mar 2019 23:13:25 +0000 (00:13 +0100)]
[SETUPLIB][USETUP] Improve disk HW numbering, removable disk support, and "super-floppy" partitioning.

Nowadays more and more people try to install ReactOS from removable
drives (e.g. USB sticks) onto fixed HDDs, or try to install it into
USB sticks too.

Both fixed and removable drives, as well as partitions on these, are
represented in NT using the same device name format:

  \Device\HarddiskM\PartitionN ,

with an increasing disk number M. Using this number for building the
corresponding firmware-specific ARC multi(x)disk(y)rdisk(z) path used
by the NT/ROS loader (FreeLdr, ...) is then prone to error since there
may have  been  removable drives  inserted  and  accounted for in the
calculation  of  the disk number.  These drives must be  correctly
subtracted in order to generate the correct ARC path, valid once all
the removable drives have been ejected (which should also be the
situation seen from the BIOS when booting up, except of course if you
boot on a USB stick).

This problem is now solved. Note that it matters only for the disks
that have also been enumerated by the firmware (BIOS; Int 13h). We
don't have to care about the other drives, since the ARC path will be
of a different format and will not use the disk number (instead, the
SCSI coordinates are used).

We also try to enumerate all the disks found in all the possible disk
adapters and  controllers enumerated  in the Hardware registry tree
(and that are visible by FreeLdr) in order to cover all.

Finally, we detect whether a disk reports as  a "super-floppy",  i.e.
an unpartitioned disk with a valid VBR. This is indeed how a standard
floppy disk looks like, or how USB sticks are partitioned on Windows.
Such disk is reported has having only one single partition starting at
the beginning of the disk, with partition number == 0, its type being
FAT16 non-bootable.
This allows us to forbid creating any new partitions on such disks.
Note that accessing either \Device\HarddiskN\Partition0 or Partition1
on such a disk returns the same data.
Note also that on the contrary, regular MBR-partitioned disks would
report at least four partitions entries, instead of just one.

The other improvements are:

- Do *NOT* write any MBR on a disk partitioned as "super-floppy".

- Fix the computed disk identifier, of format: %08x-%08x-%c .
  The numbers are respectively the checksum of the first sector, and
  the disk signature. The terminating letter is A or X, depending
  whether the first sector ends with 0x55AA/0xAA55 or not (see also
  commit 5053f1f5).

- Warn if the user attempts to install ReactOS on a disk that is not
  visible by the  firmware of his computer,  because it may not be

2 years ago[NETAPI32] NetUserAdd, NetUserSetInfo: Start to set parm_err in case of invalid param...
Eric Kohl [Tue, 12 Mar 2019 00:02:47 +0000 (01:02 +0100)]
[NETAPI32] NetUserAdd, NetUserSetInfo: Start to set parm_err in case of invalid parameters.

2 years ago[NETAPI32] NetUserSetInfo: Support the logon hours for level 2, 3, 4, 22 and 1020...
Eric Kohl [Mon, 11 Mar 2019 23:20:07 +0000 (00:20 +0100)]
[NETAPI32] NetUserSetInfo: Support the logon hours for level 2, 3, 4, 22 and 1020. Also make sure that we do not leak memory on invalid levels.

2 years ago[NETAPI32] NetUserGetInfo: Build and return the users SID for level 4 and 23.
Eric Kohl [Mon, 11 Mar 2019 21:28:42 +0000 (22:28 +0100)]
[NETAPI32] NetUserGetInfo: Build and return the users SID for level 4 and 23.

2 years ago[FREETYPE] Fix 3 regressions in one patch
Joachim Henze [Mon, 11 Mar 2019 19:10:14 +0000 (20:10 +0100)]
[FREETYPE] Fix 3 regressions in one patch

Fixes regression CORE-15785 (Zim Desktop Wiki 0.67 crashed) and
Fixes regression CORE-15755 (NLite used wrong font)

without reintroducing regression CORE-15558 (AbiWord 2.6.8 font enumeration)

This is achieved by partial revert of
and got ack of Katayama Hirofumi MZ.

Thanks to patches author Doug Lyons.

2 years ago[TRANSLATION] Hindi translation of the shell extensions. (#1405)
Arnav Bhatt [Mon, 11 Mar 2019 15:52:21 +0000 (21:22 +0530)]
[TRANSLATION] Hindi translation of the shell extensions. (#1405)

2 years agoMerge pull request #1412 from njlyf2011/improve-zh-translation
Luo Yufan [Mon, 11 Mar 2019 15:50:17 +0000 (23:50 +0800)]
Merge pull request #1412 from njlyf2011/improve-zh-translation

[TRANSLATION] Update Traditional Chinese translation

2 years ago[EXPLORER] Show the Desktop Russian translation update
Oleg Dubinskiy [Mon, 11 Mar 2019 14:07:34 +0000 (16:07 +0200)]
[EXPLORER] Show the Desktop Russian translation update

2 years ago[USBUHCI_NEW] Fix an infinite loop. 1392/head
Thomas Faber [Wed, 6 Mar 2019 09:20:39 +0000 (10:20 +0100)]
[USBUHCI_NEW] Fix an infinite loop.

2 years ago[USBPORT] Implement interface setting in USBPORT_OpenInterface.
Thomas Faber [Wed, 6 Mar 2019 08:59:41 +0000 (09:59 +0100)]
[USBPORT] Implement interface setting in USBPORT_OpenInterface.

2 years ago[USBPORT] Correctly handle alternate settings returned from USBPORT_ParseConfiguratio...
Thomas Faber [Wed, 6 Mar 2019 08:57:23 +0000 (09:57 +0100)]
[USBPORT] Correctly handle alternate settings returned from USBPORT_ParseConfigurationDescriptor.

The last parameter of USBPORT_ParseConfigurationDescriptor is a pointer
to a boolean indicating whether any alternate interface settings were
found for the specified interface.
Interpreting it as an alternate setting value, as we did before,
would always override the alternate setting to '1' (if any alternate
descriptors were present), therefore selecting the wrong interface
setting, and possibly causing a buffer overflow on the InterfaceList's
Pipes array.

Found by Special Pool.

2 years ago[USBPORT] Correctly find interface descriptor in USBPORT_ParseConfigurationDescriptor
Thomas Faber [Wed, 6 Mar 2019 08:22:55 +0000 (09:22 +0100)]
[USBPORT] Correctly find interface descriptor in USBPORT_ParseConfigurationDescriptor

There can be other descriptors between the config descriptor and the
first interface descriptor, so we specifically need to check for
the interface descriptor type and skip anything before that.
We also need to guard against bLength == 0, which would cause an
infinite loop, instead of doing a second bDescriptorType check.

2 years ago[USBPORT] Acquire EndpointSpinLock in addition to MiniportSpinLock in USBPORT_ReopenPipe.
Thomas Faber [Wed, 6 Mar 2019 08:23:26 +0000 (09:23 +0100)]
[USBPORT] Acquire EndpointSpinLock in addition to MiniportSpinLock in USBPORT_ReopenPipe.

2 years ago[USBPORT] Release StateChangeSpinLock before acquiring MiniportSpinLock.
Thomas Faber [Tue, 5 Mar 2019 21:27:15 +0000 (22:27 +0100)]
[USBPORT] Release StateChangeSpinLock before acquiring MiniportSpinLock.

Found by Driver Verifier.

2 years ago[USBPORT] Leave IRP status untouched for unhandled interfaces.
Thomas Faber [Tue, 5 Mar 2019 21:23:46 +0000 (22:23 +0100)]
[USBPORT] Leave IRP status untouched for unhandled interfaces.

Found by Driver Verifier.

2 years ago[USBPORT] Don't change the status of IRP_MJ_SYSTEM_CONTROL requests.
Thomas Faber [Tue, 5 Mar 2019 16:28:20 +0000 (17:28 +0100)]
[USBPORT] Don't change the status of IRP_MJ_SYSTEM_CONTROL requests.

Found by Driver Verifier.

2 years ago[USBHUB_NEW] Don't leak IRP_MJ_SYSTEM_CONTROL requests.
Thomas Faber [Wed, 6 Mar 2019 08:21:39 +0000 (09:21 +0100)]

Found by Driver Verifier.

2 years ago[NTOS:IO] Enable privilege check in NtLoadDriver.
Thomas Faber [Tue, 5 Mar 2019 11:33:12 +0000 (12:33 +0100)]
[NTOS:IO] Enable privilege check in NtLoadDriver.

2 years ago[USETUP] Use for-loops; simplify the code.
Hermès Bélusca-Maïto [Tue, 5 Mar 2019 01:00:13 +0000 (02:00 +0100)]
[USETUP] Use for-loops; simplify the code.

2 years ago[SETUPLIB][USETUP] Remove CurrentDisk/Partition from the partlist lib code, and move...
Hermès Bélusca-Maïto [Tue, 5 Mar 2019 00:42:33 +0000 (01:42 +0100)]
[SETUPLIB][USETUP] Remove CurrentDisk/Partition from the partlist lib code, and move these into the UI code.

- Add also some validation ASSERTs and simplify the code here and there.

- The installation partition is called "InstallPartition", while the
  global "CurrentPartition" is the disk region currently selected in
  the partition UI list, on which prtitioning operations are effectued.

- Extend CheckActiveSystemPartition() to use an optional alternative
  disk or partition in case the actual system partition (present in the
  first disk) cannot be used, e.g. because we don't support writes on it.

2 years ago[SETUPLIB] Improve the discovery of the active system partition.
Hermès Bélusca-Maïto [Mon, 25 Feb 2019 22:43:20 +0000 (23:43 +0100)]
[SETUPLIB] Improve the discovery of the active system partition.

CORE-7749, CORE-6305, CORE-13205

2 years ago[NET] Display the country along with the users country code.
Eric Kohl [Sun, 10 Mar 2019 21:00:41 +0000 (22:00 +0100)]
[NET] Display the country along with the users country code.

2 years ago[TRANSLATION] Update Hebrew translations (#1408)
Shy Zedaka [Sun, 10 Mar 2019 18:21:57 +0000 (20:21 +0200)]
[TRANSLATION] Update Hebrew translations (#1408)

2 years ago[USETUP] Improve the formatter & check-disk state machine. CORE-7749
Hermès Bélusca-Maïto [Mon, 25 Feb 2019 19:29:16 +0000 (20:29 +0100)]
[USETUP] Improve the formatter & check-disk state machine. CORE-7749

- Find or set the active system partition only once, when we start the
  formatting stage. If the system partition is to be created in some
  non-partitioned space, we create it.

- A file-system check is always scheduled for both the system and the
  installation partitions.

- If the system partition was already formatted (which usually means
  that it already existed on the system), don't ask for formatting it.


- For each partition to be formatted, the file-system menu list is
  re-created, in order to display only the FSes that are compatible
  with the selected partition, and allow to give the user the choice
  to keep the existing file-system only if the selected partition was
  already formatted.

- Check whether the user attempts to delete the partition on which
  the installation source is present, only if it is not "new" and is

- Check first whether the current partition is the system partition,

2 years ago[SETUPLIB][USETUP] Minor improvements.
Hermès Bélusca-Maïto [Sun, 24 Feb 2019 18:04:57 +0000 (19:04 +0100)]
[SETUPLIB][USETUP] Minor improvements.

- Make some partitioning functions not dependent on the selected "CurrentPartition".
- Add some sanity checks.
- Improve some of the "is-partitioned" checks.

2 years ago[SETUPLIB][USETUP] Factor out the usage of FS provider structures.
Hermès Bélusca-Maïto [Sun, 24 Feb 2019 16:52:33 +0000 (17:52 +0100)]
[SETUPLIB][USETUP] Factor out the usage of FS provider structures.

Similarly to FMIFS this structure should be private. Instead file-system
names are passed to the helper functions, allowing to use the names
returned by the FS drivers. The names are then internally mapped to the
corresponding FS providers.

In particular this allows to handle the "RAW" file-system and to assign
the 'Unformatted' flag to partitions having this FS.

Finally this helps us refining the checks performed to see whether the
current "active" system partition uses a supported file-system.

2 years ago[ACLAYERS] Implement the ForceDXSetupSuccess shim 1399/head
Mark Jansen [Thu, 7 Mar 2019 23:32:20 +0000 (00:32 +0100)]
[ACLAYERS] Implement the ForceDXSetupSuccess shim
This shim is used on older installers that try to install DirectX,
but encounter errors doing so with the bundled setup.

2 years ago[APPSHIM_APITEST] Add tests for ForceDXSetupSuccess
Mark Jansen [Thu, 7 Mar 2019 20:18:52 +0000 (21:18 +0100)]
[APPSHIM_APITEST] Add tests for ForceDXSetupSuccess

2 years ago[ACLAYERS][ACGENRAL] Do not use the crt entrypoint.
Mark Jansen [Tue, 9 Oct 2018 22:19:54 +0000 (00:19 +0200)]
[ACLAYERS][ACGENRAL] Do not use the crt entrypoint.

2 years ago[AFD] Don't reallocate buffers if windows sizes didn't change
Pierre Schweitzer [Sun, 10 Mar 2019 11:27:30 +0000 (12:27 +0100)]
[AFD] Don't reallocate buffers if windows sizes didn't change

2 years ago[WIN32K] Keep a reference on an ETHREAD while THREADINFO exists
Timo Kreuzer [Tue, 13 Mar 2018 22:00:17 +0000 (23:00 +0100)]
[WIN32K] Keep a reference on an ETHREAD while THREADINFO exists

2 years ago[NET] Move the remaining IDS_GENERIC_PAGE strings into the command messages and fix...
Eric Kohl [Sun, 10 Mar 2019 08:55:15 +0000 (09:55 +0100)]
[NET] Move the remaining IDS_GENERIC_PAGE strings into the command messages and fix a size restriction of ConPrintf().

2 years ago[NET] Add help message for the NET USER command and move the IDS_GENERIC_PAGE string...
Eric Kohl [Sun, 10 Mar 2019 07:59:32 +0000 (08:59 +0100)]
[NET] Add help message for the NET USER command and move the IDS_GENERIC_PAGE string into the help messages.

2 years ago[NET] Implement the NET SYNTAX pseudo command.
Eric Kohl [Sun, 10 Mar 2019 00:04:26 +0000 (01:04 +0100)]
[NET] Implement the NET SYNTAX pseudo command.

2 years ago[NET] Fix some 'net help' and 'net user' issues.
Eric Kohl [Sat, 9 Mar 2019 23:30:27 +0000 (00:30 +0100)]
[NET] Fix some 'net help' and 'net user' issues.

2 years ago[NETAPI32] Initialize parm_err
Eric Kohl [Sat, 9 Mar 2019 19:26:00 +0000 (20:26 +0100)]
[NETAPI32] Initialize parm_err

2 years ago[Win32SS] Add TextOut to GDI Batch
James Tabor [Sat, 9 Mar 2019 04:21:41 +0000 (22:21 -0600)]
[Win32SS] Add TextOut to GDI Batch

Add fix ups to PolyPatBlt and freetype.
TextOut supports 580 characters w/o Dx and Dx at a max of 193 characters
with Dx*1, both if offset is 0.

Noticed a lot of over drawing with start menu from ComCtl32 SB_SETTEXT
going through User32 DrawText/Worker ExtTextOutW. Explain why it might
be slowing down.

If issues arise, commenting out lines in win32ss/include/gdi32p.h can

else if (Cmd == GdiBCTextOut) cjSize = 0;//sizeof(GDIBSTEXTOUT); <----
this one most of all.
 else if (Cmd == GdiBCExtTextOut) cjSize = 0;//sizeof(GDIBSEXTTEXTOUT);

Test results:,66262

2 years ago[BOOTDATA] Fix Volgograd time zone (UTC+04:00)
Stanislav Motylkov [Fri, 8 Mar 2019 21:11:00 +0000 (00:11 +0300)]
[BOOTDATA] Fix Volgograd time zone (UTC+04:00)


2 years ago[SHUTDOWN] Small Italian translation update (#1397)
Daniele Campione [Fri, 8 Mar 2019 14:49:56 +0000 (15:49 +0100)]
[SHUTDOWN] Small Italian translation update (#1397)

2 years ago[TRANSLATION] Hindi translation of SYSSETUP AND SAMSRV. (#1400)
Arnav Bhatt [Fri, 8 Mar 2019 14:48:20 +0000 (20:18 +0530)]
[TRANSLATION] Hindi translation of SYSSETUP AND SAMSRV. (#1400)

2 years agoHindi translation of comdlg32. (#1391) 1396/head
Arnav Bhatt [Thu, 7 Mar 2019 09:05:08 +0000 (14:35 +0530)]
Hindi translation of comdlg32. (#1391)

Hindi translation of comdlg32.

2 years ago[WALLPAPER] Add ReactOS Soft Blue (#1376)
Foxlet [Wed, 6 Mar 2019 22:14:08 +0000 (17:14 -0500)]
[WALLPAPER] Add ReactOS Soft Blue (#1376)


2 years ago[WALLPAPERS] Added Silhouette collection (#1383)
polar [Wed, 6 Mar 2019 22:12:18 +0000 (22:12 +0000)]
[WALLPAPERS] Added Silhouette collection (#1383)


2 years ago[ZIPFLDR] Allow the shell extension to extract passworded zip files 1382/head
Mark Jansen [Wed, 27 Feb 2019 21:18:52 +0000 (22:18 +0100)]
[ZIPFLDR] Allow the shell extension to extract passworded zip files

2 years ago[ZLIB] Restore 'uncrypt' functionality in minizip
Mark Jansen [Wed, 27 Feb 2019 21:18:44 +0000 (22:18 +0100)]
[ZLIB] Restore 'uncrypt' functionality in minizip

2 years ago[ZIPFLDR] Move CConfirmReplace to a new file
Mark Jansen [Wed, 27 Feb 2019 21:18:32 +0000 (22:18 +0100)]
[ZIPFLDR] Move CConfirmReplace to a new file

2 years ago[DRWTSN32] Print some extra exception info 1384/head
Mark Jansen [Thu, 28 Feb 2019 22:10:43 +0000 (23:10 +0100)]
[DRWTSN32] Print some extra exception info

2 years ago[NTOS:PS] Use NULL instead of 0 in ps/kill.c
Timo Kreuzer [Thu, 12 Jul 2018 13:18:53 +0000 (15:18 +0200)]
[NTOS:PS] Use NULL instead of 0 in ps/kill.c

2 years ago[PSDK] Use CALLBACK instead of APIENTRY
Timo Kreuzer [Mon, 20 Aug 2018 14:03:08 +0000 (16:03 +0200)]

2 years ago[PSDK] Add missing D3DFORMAT enum members to d3d9types.h
Timo Kreuzer [Sat, 14 Jul 2018 18:04:50 +0000 (20:04 +0200)]
[PSDK] Add missing D3DFORMAT enum members to d3d9types.h

2 years ago[SPEC] Add missing newlines
Timo Kreuzer [Tue, 20 Jun 2017 13:50:01 +0000 (15:50 +0200)]
[SPEC] Add missing newlines

2 years ago[NTOS:KE] Add function comments
Timo Kreuzer [Thu, 12 Jul 2018 13:36:11 +0000 (15:36 +0200)]
[NTOS:KE] Add function comments

2 years ago[NtGDI] Fix crash and simplify code.
James Tabor [Tue, 5 Mar 2019 23:05:23 +0000 (17:05 -0600)]
[NtGDI] Fix crash and simplify code.

Revert previous changes. simplify rendering check.
Fix missed unlocking which caused a crash.

2 years agoMerge branch 'master' of
James Tabor [Tue, 5 Mar 2019 22:03:31 +0000 (16:03 -0600)]
Merge branch 'master' of

2 years ago[NtGDI] Change TextOut
James Tabor [Tue, 5 Mar 2019 22:03:15 +0000 (16:03 -0600)]
[NtGDI] Change TextOut

Separate TextOut for internal use.
Use flTextAlign internally.
Not sure why GetDeviceCap was used for determining rendering. SVN commit
logs are unavailable. Include code from wine that might make more sense.

2 years ago[BOOTDATA] Comment out (but still keep it for documentation purposes only) the overri...
Hermès Bélusca-Maïto [Tue, 5 Mar 2019 21:33:35 +0000 (22:33 +0100)]
[BOOTDATA] Comment out (but still keep it for documentation purposes only) the overridden default user shell, since we use by default the one specified in HKLM Winlogon key.
If people want to override it for a given user, or at a global level, they can do it later.

See CORE-15807

2 years ago[REACTOS] Fix 64 bit issues
Timo Kreuzer [Sun, 6 Jan 2019 22:14:09 +0000 (23:14 +0100)]
[REACTOS] Fix 64 bit issues

2 years ago[LIBTIRPC] Silence MSVC warnings
Timo Kreuzer [Sat, 5 Jan 2019 11:06:17 +0000 (12:06 +0100)]
[LIBTIRPC] Silence MSVC warnings

2 years ago[GDI32] Add casts to silence warnings on x64
Timo Kreuzer [Sun, 13 Jan 2019 14:29:13 +0000 (15:29 +0100)]
[GDI32] Add casts to silence warnings on x64

The cast is required, because FARPROC is only compatible with function pointer types that return INT_PTR and the ones used return int/BOOL.

2 years ago[GDI32] Fix bDDCreateSurface
Timo Kreuzer [Sun, 13 Jan 2019 14:09:57 +0000 (15:09 +0100)]
[GDI32] Fix bDDCreateSurface

2 years ago[DXG] Fix 64 bit build
Timo Kreuzer [Sun, 6 Jan 2019 22:41:52 +0000 (23:41 +0100)]
[DXG] Fix 64 bit build

2 years ago[VGA_NEW] Fix 64 bit issues
Timo Kreuzer [Sun, 13 Jan 2019 14:56:23 +0000 (15:56 +0100)]
[VGA_NEW] Fix 64 bit issues

2 years ago[SACDRV] Fix CHECK_PARAMETER_WITH_STATUS error handling macro
Timo Kreuzer [Sun, 13 Jan 2019 18:23:41 +0000 (19:23 +0100)]

Timo Kreuzer [Mon, 7 Jan 2019 01:59:24 +0000 (02:59 +0100)]

Timo Kreuzer [Tue, 8 Jan 2019 04:17:19 +0000 (05:17 +0100)]

2 years ago[NTOS:EX] Fix 64 bit issues in ExfWaitForRundownProtectionReleaseCacheAware
Timo Kreuzer [Sun, 13 Jan 2019 12:35:51 +0000 (13:35 +0100)]
[NTOS:EX] Fix 64 bit issues in ExfWaitForRundownProtectionReleaseCacheAware

2 years ago[PSDK] Improve definition of CBR_BLOCK
Timo Kreuzer [Sun, 13 Jan 2019 12:42:23 +0000 (13:42 +0100)]
[PSDK] Improve definition of CBR_BLOCK

The cast doesn't exist in native headers, but this causes warnings.

2 years ago[PSDK] Fix PRINTDLG structure definition
Timo Kreuzer [Mon, 7 Jan 2019 01:21:10 +0000 (02:21 +0100)]
[PSDK] Fix PRINTDLG structure definition

2 years ago[MKISOFS] Silence MSVC warnings
Timo Kreuzer [Sun, 6 Jan 2019 16:31:43 +0000 (17:31 +0100)]
[MKISOFS] Silence MSVC warnings

2 years ago[WIDL] Fix non-x86 builds
Timo Kreuzer [Sat, 2 Feb 2019 10:46:19 +0000 (11:46 +0100)]
[WIDL] Fix non-x86 builds

2 years ago[NtGDI] Use flag for text align mode.
James Tabor [Mon, 4 Mar 2019 18:17:00 +0000 (12:17 -0600)]
[NtGDI] Use flag for text align mode.

Use the lTextAlign instead of the user one for internal use.

2 years ago[MSV1_0] Check logon hours and workstation names on logon. Also return the machine...
Eric Kohl [Mon, 4 Mar 2019 16:25:11 +0000 (17:25 +0100)]
[MSV1_0] Check logon hours and workstation names on logon. Also return the machine name on logon and fix the LOGONSERVER environment variable.

2 years ago[SHELL32] Implement SHTestTokenMembership and forward IsUserAnAdmin to it
Ged Murphy [Mon, 4 Mar 2019 11:02:38 +0000 (11:02 +0000)]
[SHELL32] Implement SHTestTokenMembership and forward IsUserAnAdmin to it
Moved to the bottom of the file with the other ros functions to help keep wine syncs easier.

2 years ago[MSV1_0] Export LsaApLogonUserEx2 instead of LsaApLogonUser and remove the outdated...
Eric Kohl [Mon, 4 Mar 2019 09:20:10 +0000 (10:20 +0100)]
[MSV1_0] Export LsaApLogonUserEx2 instead of LsaApLogonUser and remove the outdated logon functions.

2 years ago[LSASRV] LsapLogonUser: Support LsaTokenInformationNull logins.
Eric Kohl [Mon, 4 Mar 2019 00:35:26 +0000 (01:35 +0100)]
[LSASRV] LsapLogonUser: Support LsaTokenInformationNull logins.

2 years ago[MSV1_0] LsaApLogonUser: Pass the Authenticating Authority to the caller.
Eric Kohl [Mon, 4 Mar 2019 00:31:20 +0000 (01:31 +0100)]
[MSV1_0] LsaApLogonUser: Pass the Authenticating Authority to the caller.

2 years ago[DCOMLAUNCH][WMISVC] Stop busy waiting shutdown
Pierre Schweitzer [Sun, 3 Mar 2019 22:14:07 +0000 (23:14 +0100)]
[DCOMLAUNCH][WMISVC] Stop busy waiting shutdown

2 years agoFix the MSVC version of ldexp filling up the FPU stack and bailing out with #IND...
Colin Finck [Fri, 1 Mar 2019 16:49:03 +0000 (17:49 +0100)]
Fix the MSVC version of ldexp filling up the FPU stack and bailing out with #IND after a few calls. Additionally, add it back to libcntpr.

MSVC was previously given a "result" variable to copy the fscale result from st(0). This led to another "fld" FPU stack push at the very end without popping the source value from the FPU stack.
Moreover, this copy isn't even needed: A simple "fstp st(1)" at the end pops an element from the FPU stack while effectively storing the result in st(0), the register used for returning a double value.
This problem didn't affect GCC, as it is only given the "fscale" instruction and does all necessary stack operations itself.

However, looking into the CRT sources, I found many other i386 implementations with inline assembly suffering from the same problem.
Fortunately, they have been replaced by pure assembly implementations a while ago, so it's time to finally remove them.
ldexp would have also been a candidate for a pure assembly implementation, but the required check for NaN and setting errno (verified on Win2003) already outweighs the benefits.
And we cannot just do a NaN check with FUCOMI as this is an i686/pentiumpro instruction while we're still targeting i586/pentium.

I'm also using this opportunity to clean up the ldexp.c header and only put in the remaining contributors as returned by "git blame".

Thanks to NightWolve1975 for reporting the problem! (

2 years ago[DCOMLAUNCH] Add a DcomLaunch service stub
Pierre Schweitzer [Sun, 3 Mar 2019 13:21:46 +0000 (14:21 +0100)]
[DCOMLAUNCH] Add a DcomLaunch service stub

This stub is responsible for providing the UUID seed to the kernel.
For now, it generates a purely random seed - MAC address support
is to be added.
Because it's purely random seed and local the machine (not tied
to the MAC address) it's made so that ExUuidCreate keeps returning
RPC_NT_UUID_LOCAL_ONLY. It won't fix failing test for now.

Nota: this service shouldn't exist as it. It should be implemented
though rpcss DLL for both rpcss service (network service) and
dcomlaunch service (local system service).
Because rpcss is EXE based and wine-synced for now, I prefered
stubbing a new service. This will have to be changed at some point.

2 years ago[SHELL32] Update all languages RCs to fix possible text truncation CORE-15765
Joachim Henze [Sun, 3 Mar 2019 01:23:34 +0000 (02:23 +0100)]
[SHELL32] Update all languages RCs to fix possible text truncation CORE-15765

IDD_BROWSE_FOR_FOLDER displays text controlled by the calling applications in
IDC_BROWSE_FOR_FOLDER_TITLE. Its old height could lead to text truncation
for existing 3rd party apps.
The new height value for IDC_BROWSE_FOR_FOLDER_TITLE
was inspired by IDC with the same from dialog IDD_BROWSE_FOR_FOLDER_NEW.
I could change all languages to the same height,
as dimensions of the dialog and surrounding controls were same.

2 years ago[MSI] In dialogs show titlebar buttons CORE-15301
Joachim Henze [Sun, 3 Mar 2019 00:26:59 +0000 (01:26 +0100)]
[MSI] In dialogs show titlebar buttons CORE-15301

Import the Wine fix;h=84e6b331918d57f39e20a3063b67eb7fc0876288
Many thanks to the fixes author Fabian Maurer.

2 years ago[TASKMGR] Update german rc to avoid text truncation in status-bar CORE-15615
Joachim Henze [Sat, 2 Mar 2019 23:46:23 +0000 (00:46 +0100)]
[TASKMGR] Update german rc to avoid text truncation in status-bar CORE-15615

which became a necessity after the second field was reduced in width
by commit 0.4.12-dev-363-g

2 years ago[SETUPAPI] Implement CM_Next_Range()
Eric Kohl [Sat, 2 Mar 2019 19:52:52 +0000 (20:52 +0100)]
[SETUPAPI] Implement CM_Next_Range()

2 years ago[COVERITY][SETUPAPI] Release the blocks of memory when done
Bișoc George [Fri, 1 Mar 2019 19:24:18 +0000 (20:24 +0100)]
[COVERITY][SETUPAPI] Release the blocks of memory when done

pRange variable allocates blocks of memory from the heap by HeapAlloc() although this resource is never freed afterwards.


2 years agoUse GDI Batch for PatBlt
jimtabor [Sat, 2 Mar 2019 17:30:21 +0000 (11:30 -0600)]
Use GDI Batch for PatBlt

This should increase speed a bit. Makes a good argument to use
PolyPatBlt for more than one call.
PolyPatBlt is not fully tested yet.

2 years ago[NTOSKRNL] Fix MSVC2010 build
Pierre Schweitzer [Sat, 2 Mar 2019 10:10:37 +0000 (11:10 +0100)]
[NTOSKRNL] Fix MSVC2010 build

2 years ago[NTOSKRNL] Fix ClockDiff aka fix MSVC build
Pierre Schweitzer [Sat, 2 Mar 2019 09:45:34 +0000 (10:45 +0100)]
[NTOSKRNL] Fix ClockDiff aka fix MSVC build

2 years ago[NTOSKRNL] Add a test for ExUuidCreate
Pierre Schweitzer [Sat, 2 Mar 2019 09:29:26 +0000 (10:29 +0100)]
[NTOSKRNL] Add a test for ExUuidCreate

2 years ago[SNDVOL32] In record mode, rename the 'Mute' autocheckbox to 'Select', turn it into...
Eric Kohl [Fri, 1 Mar 2019 21:01:14 +0000 (22:01 +0100)]
[SNDVOL32] In record mode, rename the 'Mute' autocheckbox to 'Select', turn it into a checkbox and make it behave like a radiobutton.

2 years ago[NTOSKRNL] Rewrite/fix our UUID generation implementation
Pierre Schweitzer [Wed, 27 Feb 2019 20:12:32 +0000 (21:12 +0100)]
[NTOSKRNL] Rewrite/fix our UUID generation implementation
So that it matches Windows behavior
Also implement ExUuidCreate that will generate UUID version 1

The implementation is based on the RFC 4122

2 years ago[NTOSKRNL] Introduce the UUID_CACHED_VALUES_STRUCT structure
Pierre Schweitzer [Wed, 27 Feb 2019 08:02:30 +0000 (09:02 +0100)]


2 years ago[NTOSKRNL] UuidMutex -> ExpUuidLock
Pierre Schweitzer [Wed, 27 Feb 2019 07:54:48 +0000 (08:54 +0100)]
[NTOSKRNL] UuidMutex -> ExpUuidLock

2 years ago[OSK] Implement "Use Click Sound" feature
Bișoc George [Sun, 24 Feb 2019 15:40:02 +0000 (16:40 +0100)]
[OSK] Implement "Use Click Sound" feature

- Implement the save/load handler for this feature
- Check the "Use Click Sound" item state accordingly depending if it's enabled or disabled
- Use PlaySoundW() to play the wave sound file from resource
- Add the WAV sound click file. The work is made thanks to Midori Mizuno

2 years ago[HDAUDBUS] Wait until the correct number of responses was received. CORE-15465
Thomas Faber [Wed, 27 Feb 2019 14:02:38 +0000 (15:02 +0100)]
[HDAUDBUS] Wait until the correct number of responses was received. CORE-15465

We previously only gave the device a hard-coded amount of time to respond,
which could lead to interpreting the contents of uninitialized memory as
a response. This would lead to an unreasonably large number of audio function
groups being detected.

A KSEMAPHORE mirrors what Haiku uses here, though it may not be the optimal
synchronization primitive for this case under Windows.

2 years ago[HDAUDBUS] Handle responses in a DPC instead of the ISR.
Thomas Faber [Wed, 27 Feb 2019 13:34:23 +0000 (14:34 +0100)]
[HDAUDBUS] Handle responses in a DPC instead of the ISR.