19 months ago[BOOTDATA] Add some informative registry values (Win2k3 compat).
Hermès Bélusca-Maïto [Sun, 18 Feb 2018 00:41:53 +0000 (01:41 +0100)]
[BOOTDATA] Add some informative registry values (Win2k3 compat).

- In HKLM\SYSTEM\CurrentControlSet\Control\Windows, add "Directory"
  and "SystemDirectory" values, giving the ReactOS installation
  directories (purely informative).
- Also add the "ErrorMode" value that specifies how the hard-error
  popups are displayed. This value will be used later.
- Fix event log sources ordering.

19 months ago[BOOTDATA] Add "Application Popup" as a known source of events for the System event...
Hermès Bélusca-Maïto [Sun, 18 Feb 2018 00:16:24 +0000 (01:16 +0100)]
[BOOTDATA] Add "Application Popup" as a known source of events for the System event log.

19 months ago[CMAKE] Increase KERNEL_VERSION_PATCH_LEVEL to 9 CORE-14345
Joachim Henze [Sat, 17 Feb 2018 22:48:16 +0000 (23:48 +0100)]

To make 1st stage setup properly report "0.4.9"

19 months ago[SC] Fix MSVC build.
Hermès Bélusca-Maïto [Sat, 17 Feb 2018 20:03:58 +0000 (21:03 +0100)]
[SC] Fix MSVC build.

19 months ago[SHELL32] CFSDropTarget: style fixes
Giannis Adamopoulos [Sat, 17 Feb 2018 20:01:04 +0000 (22:01 +0200)]
[SHELL32] CFSDropTarget: style fixes

19 months ago[SHELL32] CDefView: remove a useless print
Giannis Adamopoulos [Sat, 17 Feb 2018 19:36:31 +0000 (21:36 +0200)]
[SHELL32] CDefView: remove a useless print

19 months ago[SHELL32] CFSDropTarget: Use copy depending on the source drive
Giannis Adamopoulos [Sat, 17 Feb 2018 11:59:51 +0000 (13:59 +0200)]
[SHELL32] CFSDropTarget: Use copy depending on the source drive
Show the default action as the default menu item in the right click menu.

19 months ago[SHELL32] CFSDropTarget: Initial implementation of right click drag menu
Giannis Adamopoulos [Fri, 16 Feb 2018 18:33:44 +0000 (20:33 +0200)]
[SHELL32] CFSDropTarget: Initial implementation of right click drag menu

19 months ago[SHELL32] CDefView: Implement several methods needed for drop targets
Giannis Adamopoulos [Sat, 17 Feb 2018 17:29:20 +0000 (19:29 +0200)]
[SHELL32] CDefView: Implement several methods needed for drop targets
Set the view object as the site of the drop target.
Implement GetItemPosition, SelectAndPositionItems, IsDropOnSource, GetDragPoint.
Use DROPEFFECT_COPY only when the item supports it.

19 months ago[SHELL32] Add menu resource which is used when dragging files with right click
Giannis Adamopoulos [Sat, 17 Feb 2018 17:18:43 +0000 (19:18 +0200)]
[SHELL32] Add menu resource which is used when dragging files with right click

19 months ago[SC] Implement missing query/queryex options
Eric Kohl [Sat, 17 Feb 2018 18:26:06 +0000 (19:26 +0100)]
[SC] Implement missing query/queryex options
- PrintService: Print optional display name.
- MainUsage: Print missing query options.
- Parse query options and use them to enumerate services.

19 months ago[CMAKE] Call "git describe" with the --long parameter to always output the format...
Colin Finck [Sat, 17 Feb 2018 17:09:07 +0000 (18:09 +0100)]
[CMAKE] Call "git describe" with the --long parameter to always output the format we are used to.

19 months ago[SHELL32_APITEST] Run the CUserNotification worker test function in a thread to copy... 0.4.9-dev
Hermès Bélusca-Maïto [Sat, 17 Feb 2018 15:02:22 +0000 (16:02 +0100)]
[SHELL32_APITEST] Run the CUserNotification worker test function in a thread to copy with possible test timeouts. CORE-13177

19 months ago[NTOSKRNL] Don't call OOM dumper in case we were trying to allocate more than 100...
Pierre Schweitzer [Sat, 17 Feb 2018 14:09:38 +0000 (15:09 +0100)]
[NTOSKRNL] Don't call OOM dumper in case we were trying to allocate more than 100 pages.
In such case, we'll consider the caller is bogus and we'll fail in silence.
Dedicated to Mark (again!)

19 months ago[NTOSKRNL] Allow more chars in ExpTagAllowPrint().
Pierre Schweitzer [Sat, 17 Feb 2018 14:06:29 +0000 (15:06 +0100)]
[NTOSKRNL] Allow more chars in ExpTagAllowPrint().
Dedicated to Mark

19 months ago[FASTFAT] Drop read ahead locking routines in favor of lazy writer routines.
Pierre Schweitzer [Sat, 17 Feb 2018 12:48:32 +0000 (13:48 +0100)]
[FASTFAT] Drop read ahead locking routines in favor of lazy writer routines.
This avoids code duplication while being consistent with MS FastFAT.

19 months ago[SHELL32] Fix COM registration of IShellFolder, IShellLinkA/W, IQueryContinue and...
Hermès Bélusca-Maïto [Fri, 16 Feb 2018 22:30:09 +0000 (23:30 +0100)]
[SHELL32] Fix COM registration of IShellFolder, IShellLinkA/W, IQueryContinue and IUserNotification classes.

19 months ago[EXPLORER] Update French translation
Pierre Schweitzer [Fri, 16 Feb 2018 18:36:25 +0000 (19:36 +0100)]
[EXPLORER] Update French translation

19 months agoimprove SHGetFileInfo (#118)
Katayama Hirofumi MZ [Fri, 16 Feb 2018 11:00:08 +0000 (20:00 +0900)]
improve SHGetFileInfo (#118)

This patch reduces failures of SHGetFileInfo function. CORE-7159
* improve WideByteToWideChar calls
* fix bugs related to file attributes and SHGFI_EXETYPE
* s/sizeof(temppsfi)/0/

19 months ago[D3D9][ARPING] Add missing va_start() and va_end() (#371)
Serge Gautherie [Fri, 16 Feb 2018 09:28:25 +0000 (10:28 +0100)]
[D3D9][ARPING] Add missing va_start() and va_end() (#371)

19 months ago[COM_APITEST] Reenable two known interfaces (#367). Caught by Thomas.
Hermès Bélusca-Maïto [Thu, 15 Feb 2018 23:15:41 +0000 (00:15 +0100)]
[COM_APITEST] Reenable two known interfaces (#367). Caught by Thomas.

19 months ago[I8042PRT] Apply a workaround for Dell Latitude D610
Doug Lyons [Thu, 15 Feb 2018 21:48:01 +0000 (22:48 +0100)]
[I8042PRT] Apply a workaround for Dell Latitude D610

19 months ago[SHELL32_APITEST] Add a test for the CUserNotification implementation. CORE-13177 367/head
Hermès Bélusca-Maïto [Thu, 15 Feb 2018 00:17:32 +0000 (01:17 +0100)]
[SHELL32_APITEST] Add a test for the CUserNotification implementation. CORE-13177

19 months ago[SHELL32] Implement the CUserNotification class, which implements the IUserNotificati...
Hermès Bélusca-Maïto [Wed, 7 Feb 2018 01:20:26 +0000 (02:20 +0100)]
[SHELL32] Implement the CUserNotification class, which implements the IUserNotification interface. CORE-13177

19 months ago[COM_APITEST] Add tests for IUserNotification. CORE-13177
Hermès Bélusca-Maïto [Wed, 7 Feb 2018 01:14:07 +0000 (02:14 +0100)]
[COM_APITEST] Add tests for IUserNotification. CORE-13177

19 months ago[PSDK] Add definitions for IUserNotification, IQueryContinue, and IUserNotification2...
Hermès Bélusca-Maïto [Wed, 7 Feb 2018 01:15:41 +0000 (02:15 +0100)]
[PSDK] Add definitions for IUserNotification, IQueryContinue, and IUserNotification2 and IUserNotificationCallback (Vista+).

19 months ago[SC] Disable debug messages on user interface (#382)
Serge Gautherie [Thu, 15 Feb 2018 13:58:17 +0000 (14:58 +0100)]
[SC] Disable debug messages on user interface (#382)

19 months ago[HAL] Implement APIC-based profiling for x64. 116/head
Ivan Labutin [Mon, 6 Nov 2017 18:40:21 +0000 (21:40 +0300)]
[HAL] Implement APIC-based profiling for x64.

19 months ago[IP] Silence "TCP operation failed" debug spam.
Thomas Faber [Thu, 15 Feb 2018 11:19:57 +0000 (12:19 +0100)]
[IP] Silence "TCP operation failed" debug spam.

19 months ago[SHELL32] CNewMenu: Don't use CWM_GETISHELLBROWSER.
Giannis Adamopoulos [Wed, 14 Feb 2018 22:58:22 +0000 (00:58 +0200)]
CDefaultContextMenu: Set the site for context menu extensions
CNewMenu: Get SID_IFolderView service of the site to get the IShellView

19 months ago[SHELL32] Fix the toolbar buttons in the file open dialog
Giannis Adamopoulos [Wed, 14 Feb 2018 22:23:18 +0000 (00:23 +0200)]
[SHELL32] Fix the toolbar buttons in the file open dialog
CDefView: Make GetItemObject return an IContectMenu after setting itself as the site.
CDefViewBckgrndMenu: Make the inner context menu use the same site. Implement handling CMDSTR_VIEWLISTA and CMDSTR_VIEWDETAILSA.
CDefaultContextMenu: CMDSTR_VIEWLISTA and CMDSTR_VIEWDETAILSA shouldn't be handled in this class.
Fixes CORE-14327 and the two buttons that change the view mode

19 months ago[SHELL32] Fix glitch in de-DE.rc
Joachim Henze [Wed, 14 Feb 2018 19:12:10 +0000 (20:12 +0100)]
[SHELL32] Fix glitch in de-DE.rc

checkbox captions are too long.
issue was introduced by 3624c5d6fd2cf1c589c26f75ac2d6054f7a838a0

fixes CORE-14329 for de-DE

19 months ago[SHELL32] CDefViewBckgrndMenu: Fix handling string verbs.
Giannis Adamopoulos [Tue, 13 Feb 2018 22:03:35 +0000 (00:03 +0200)]
[SHELL32] CDefViewBckgrndMenu: Fix handling string verbs.
It shouldn't be necessary for QueryContextMenu to be called before InvokeCommand.
Move retrieving the IContextMenu of the folder to the initialization of the class.

19 months ago[SHLWAPI] Import wine commit 2c163225730e88 as addendum to the SHCreateWorkerWindowW...
Hermès Bélusca-Maïto [Tue, 13 Feb 2018 21:05:13 +0000 (22:05 +0100)]
[SHLWAPI] Import wine commit 2c163225730e88 as addendum to the SHCreateWorkerWindowW/A fixes from commit 770bf93.

19 months ago[TRANSLATION][INF] Update Simplified Chinese translation. (#378)
Luo Yufan [Tue, 13 Feb 2018 21:16:25 +0000 (05:16 +0800)]
[TRANSLATION][INF] Update Simplified Chinese translation. (#378)

19 months ago[COMCTL32] Import wine commit 71cf0a31d99feb to fix the name column width in rapps.
Mark Jansen [Tue, 13 Feb 2018 18:47:58 +0000 (19:47 +0100)]
[COMCTL32] Import wine commit 71cf0a31d99feb to fix the name column width in rapps.

19 months ago[SHLWAPI] Improvements for SHCreateWorkerWindowW/A() prototypes + fix x64-bit compati...
Hermès Bélusca-Maïto [Mon, 12 Feb 2018 23:10:09 +0000 (00:10 +0100)]
[SHLWAPI] Improvements for SHCreateWorkerWindowW/A() prototypes + fix x64-bit compatibility. Sent upstream.

[SHLWAPI] Refactor the SHCreateWorkerWindowW() prototype to match its ANSI SHCreateWorkerWindowA() counterpart.

The last parameter is really to be understood as an extra window data, and not a "message result" (as it would be the case for dialog window procedure).
That is why I also remove the mention of "DWLP_MSGRESULT" in the SetWindowLongPtrW() call.
SHCreateWorkerWindowA() had it OK but SHCreateWorkerWindowW() did not.


[SHLWAPI] Make SHCreateWorkerWindowA() and SHCreateWorkerWindowW() x64-compatible.

The first parameter of these functions is a pointer to a window procedure, having a definite prototype, so employ a correct typedef WNDPROC,
which ensures both correct pointer size and parameter type enforcement.
This also ensures that we use instead a correct pointer size, since otherwise LONG remains 32-bits for Windows compatibility on x64 platforms.
The wndProc parameter is thus casted to LONG_PTR to comply with the SetWindowLongPtrA/W calls.

In SHCreateWorkerWindowW(), the last "wnd_extra" parameter should also be LONG_PTR to be able to pass 64-bit data pointer on x64 platforms.
Therefore fix also setting the wc.cbWndExtra size. One should note that the ANSI SHCreateWorkerWindowA() function had everything OK already.

19 months ago[CDFS_NEW] Fix a bug in Microsoft CDFS implementation where the top level IRP
Pierre Schweitzer [Mon, 12 Feb 2018 19:45:12 +0000 (20:45 +0100)]
[CDFS_NEW] Fix a bug in Microsoft CDFS implementation where the top level IRP
is set before locking is actually attempted for Cc worker thread (lazy write/read ahead).
So in case locking fails, the top level IRP is set and never unset, and latter
call will hit the assert where it expects the top level IRP to be NULL.

Should be reported upstream (tm).


19 months ago[SERVICES] Set a complete service status for running boot start or system start drivers
Eric Kohl [Mon, 12 Feb 2018 14:50:30 +0000 (15:50 +0100)]
[SERVICES] Set a complete service status for running boot start or system start drivers

19 months ago[SERVICES] Fix the initial service status
Eric Kohl [Mon, 12 Feb 2018 13:58:02 +0000 (14:58 +0100)]
[SERVICES] Fix the initial service status

- The initial dwWin32ExitCode for a disabled service is ERROR_SERVICE_DISABLED and ERROR_SRVICE_NEVER_STARTED for non-disabled services.
- The initial dwWaitHint is 2000 (2 seconds) for (user-mode) services and 0 for drivers.
- Move all driver-related code to driver.c.

19 months ago[APPSHIM_APITEST] Fix 2 Clang-Cl warnings about ok2
Serge Gautherie [Sun, 11 Feb 2018 22:15:06 +0000 (23:15 +0100)]
[APPSHIM_APITEST] Fix 2 Clang-Cl warnings about ok2

"warning: expression result unused [-Wunused-value]"


19 months ago[EXPLORER] Fix a Clang-Cl warning about Icon->ProcessId
Serge Gautherie [Sun, 11 Feb 2018 22:57:15 +0000 (23:57 +0100)]
[EXPLORER] Fix a Clang-Cl warning about Icon->ProcessId

"warning: expression result unused [-Wunused-value]"
Regressed in be2bf9b.


19 months ago[EXPLORER] WatchList should be freed with delete[], not delete (#374)
Bișoc George [Sun, 11 Feb 2018 21:56:38 +0000 (22:56 +0100)]
[EXPLORER] WatchList should be freed with delete[], not delete (#374)

WatchList is a set of array objects, initialized with "new[]", so it should be freed with "delete[]" to free all of its elements. Otherwise using only "delete" only frees the first variable but not its array. This would lead to an undefined behaviour.

19 months ago[CONUTILS] Relax the enforcement of using FORMAT_MESSAGE_MAX_WIDTH_MASK in the ConMsg...
Hermès Bélusca-Maïto [Sun, 11 Feb 2018 17:08:39 +0000 (18:08 +0100)]
[CONUTILS] Relax the enforcement of using FORMAT_MESSAGE_MAX_WIDTH_MASK in the ConMsg* and ConResMsg* functions.

19 months ago[MAGNIFY] Call PostQuitMessage() only at the very end.
Hermès Bélusca-Maïto [Sat, 10 Feb 2018 23:35:29 +0000 (00:35 +0100)]
[MAGNIFY] Call PostQuitMessage() only at the very end.

19 months ago[NTOSKRNL] In debug builds, print more information about the top level IRP in the...
Pierre Schweitzer [Sat, 10 Feb 2018 22:49:33 +0000 (23:49 +0100)]
[NTOSKRNL] In debug builds, print more information about the top level IRP in the Cc worker thread


19 months ago[SDK] Fix NT6 building issues and improve SDK NT6 headers. 356/head
Denis Malikov [Sun, 4 Feb 2018 11:29:23 +0000 (18:29 +0700)]
[SDK] Fix NT6 building issues and improve SDK NT6 headers.


19 months ago[CRT:STARTUP] Fix a Clang-Cl warning about GS_ExceptionPointers 372/head
Serge Gautherie [Sat, 10 Feb 2018 05:39:28 +0000 (06:39 +0100)]
[CRT:STARTUP] Fix a Clang-Cl warning about GS_ExceptionPointers

"warning: unused variable 'GS_ExceptionPointers' [-Wunused-const-variable]"
Missed in CORE-8626 r64704.


19 months ago[DXG] Fix a Clang-Cl warning about DDHAL_CB32_CANCREATESURFACE 370/head
Serge Gautherie [Wed, 7 Feb 2018 23:31:13 +0000 (00:31 +0100)]
[DXG] Fix a Clang-Cl warning about DDHAL_CB32_CANCREATESURFACE

"warning: use of logical '&&' with constant operand [-Wconstant-logical-operand]"


19 months ago[OPENGLCFG] Fix a Clang-Cl warning about IDC_DEBUG_OUTPUT
Serge Gautherie [Wed, 7 Feb 2018 23:27:27 +0000 (00:27 +0100)]
[OPENGLCFG] Fix a Clang-Cl warning about IDC_DEBUG_OUTPUT

"warning: use of logical '||' with constant operand [-Wconstant-logical-operand]"


19 months ago[STRMBASE] Sync with Wine 3.0. CORE-14225 364/head
Thomas Faber [Mon, 5 Feb 2018 17:47:10 +0000 (18:47 +0100)]
[STRMBASE] Sync with Wine 3.0. CORE-14225

19 months ago[SERVICES] Update the service status after unloading a driver
Eric Kohl [Sat, 10 Feb 2018 16:02:23 +0000 (17:02 +0100)]
[SERVICES] Update the service status after unloading a driver

Update the service status after unloading the driver and pass the new status to the caller.


19 months ago[EXPLORER] Send balloon notifications to the callback message.
David Quintana [Sat, 10 Feb 2018 14:47:49 +0000 (15:47 +0100)]
[EXPLORER] Send balloon notifications to the callback message.
TODO: Send NIN_BALLOONUSERCLICK when the user clicks on the balloon content (not the X button).

19 months ago[PSDK] Add missing shell notification message flags.
Hermès Bélusca-Maïto [Sat, 10 Feb 2018 14:41:21 +0000 (15:41 +0100)]
[PSDK] Add missing shell notification message flags.

19 months ago[SERVICES] Support the NoInteractiveServices registry value
Eric Kohl [Sat, 10 Feb 2018 13:23:11 +0000 (14:23 +0100)]
[SERVICES] Support the NoInteractiveServices registry value

19 months ago[NTOSKRNL] Avoid private cache map allocation for the first handle
Pierre Schweitzer [Fri, 9 Feb 2018 20:52:41 +0000 (21:52 +0100)]
[NTOSKRNL] Avoid private cache map allocation for the first handle
Standard shared cache map provides space for a private cache map, do the same
and make it available for the first handle. It avoids two allocations in a row.

19 months ago[NTOSKRNL] Modified CcCanIWrite to handle Mm throttling limits
Pierre Schweitzer [Fri, 9 Feb 2018 13:22:00 +0000 (14:22 +0100)]
[NTOSKRNL] Modified CcCanIWrite to handle Mm throttling limits

19 months ago[NTOSKRNL] Define the throttling limits for Cc in Mm: MmThrottleTop, MmThrottleBottom.
Pierre Schweitzer [Fri, 9 Feb 2018 13:21:14 +0000 (14:21 +0100)]
[NTOSKRNL] Define the throttling limits for Cc in Mm: MmThrottleTop, MmThrottleBottom.
Modified !defwrites to reflect that change

19 months ago[NTOSKRNL] Rewrite CcCanIWrite() to make it more accurate and handle specific callers
Pierre Schweitzer [Fri, 9 Feb 2018 12:56:16 +0000 (13:56 +0100)]
[NTOSKRNL] Rewrite CcCanIWrite() to make it more accurate and handle specific callers

19 months ago[NTOSKRNL] Don't defer write through write operations
Pierre Schweitzer [Fri, 9 Feb 2018 11:25:58 +0000 (12:25 +0100)]
[NTOSKRNL] Don't defer write through write operations

19 months ago[NTOSKRNL] Quickly implement the !defwrites in KDBG
Pierre Schweitzer [Fri, 9 Feb 2018 11:16:29 +0000 (12:16 +0100)]
[NTOSKRNL] Quickly implement the !defwrites in KDBG

19 months ago[NTOSKRNL] Drop the iSharedCacheMapLock in favor of the master lock
Pierre Schweitzer [Fri, 9 Feb 2018 10:13:53 +0000 (11:13 +0100)]
[NTOSKRNL] Drop the iSharedCacheMapLock in favor of the master lock

19 months ago[NTOSKRNL] Silence lazy writer now we know it works
Pierre Schweitzer [Fri, 9 Feb 2018 10:05:44 +0000 (11:05 +0100)]
[NTOSKRNL] Silence lazy writer now we know it works

19 months ago[NTOSKRNL] Use better locking for private cache map in CcRosReleaseFileCache().
Pierre Schweitzer [Fri, 9 Feb 2018 10:05:15 +0000 (11:05 +0100)]
[NTOSKRNL] Use better locking for private cache map in CcRosReleaseFileCache().
Suggested by Thomas

19 months ago[NTOSKRNL] Bring an initial (and not perfect ;-)) implementation of read ahead to...
Pierre Schweitzer [Fri, 9 Feb 2018 09:06:17 +0000 (10:06 +0100)]
[NTOSKRNL] Bring an initial (and not perfect ;-)) implementation of read ahead to our Cc!

This halfplements CcScheduleReadAhead() which is responsible for finding the next reads
to perform given last read and previous reads. I made it very basic for now, at least
to test the whole process.
This also introduces the CcExpressWorkQueue in the lazy writer which is responsible
for dealing with read ahead items and which is dealt with before the regular queue.
In CcCopyData(), if read was fine, schedule read ahead so that it can happen in background
without the FSD to notice it! Also, update the read history so that scheduling as a
bit of data.
Implement (à la "old Cc" ;-)) CcPerformReadAhead() which is responsible for performing
the read. It's only to be called by the worker thread.

Side note on the modifications done in CcRosReleaseFileCache(). Private cache map
is tied to a handle. If it goes away, private cache map gets deleted. Read ahead
can run after the handle was closed (and thus, private cache map deleted), so
it is mandatory to always lock the master lock before accessing the structure in
read ahead or before deleting it in CcRosReleaseFileCache(). Otherwise, you'll
just break everything. You've been warned!

This commit also partly reverts f8b5d27.


19 months ago[RAPPS] Fix column sorting
Alexander Shaposhnikov [Thu, 8 Feb 2018 22:53:31 +0000 (00:53 +0200)]
[RAPPS] Fix column sorting


19 months ago[RAPPS] Set header style when sorting by column
Alexander Shaposhnikov [Thu, 8 Feb 2018 22:41:55 +0000 (00:41 +0200)]
[RAPPS] Set header style when sorting by column

19 months ago[NTOSKRNL] Fix a ****ing bug where private cache map was deleted in CcUninitializeCac...
Pierre Schweitzer [Thu, 8 Feb 2018 13:15:02 +0000 (14:15 +0100)]
[NTOSKRNL] Fix a ****ing bug where private cache map was deleted in CcUninitializeCacheMap()
before the call to CcRosReleaseFileCache() which expects to have it to properly clean the file.
So, move deletion code to CcRosReleaseFileCache() so that he's the only one to handle private map.
Should hopefully fix all the recent buildbots issues (and the universe perhaps, who knows?)

19 months ago[NDK] Update the PRIVATE_CACHE_MAP structure to match W2K3 one.
Pierre Schweitzer [Thu, 8 Feb 2018 13:02:42 +0000 (14:02 +0100)]
[NDK] Update the PRIVATE_CACHE_MAP structure to match W2K3 one.
Also update the spin lock on allocation.

19 months ago[NTOSKRNL] Revert 2362e0f and 07e6e9c (partly) they seem to have caused high instabil...
Pierre Schweitzer [Thu, 8 Feb 2018 12:40:54 +0000 (13:40 +0100)]
[NTOSKRNL] Revert 2362e0f and 07e6e9c (partly) they seem to have caused high instability in Cc.
This reverts BCB being lazy written when marked dirty.

We'll go back to this behavior when this part will have been reworked and stabilized.


19 months ago[NTOSKRNL] Revert 6ece4e9fc22d664ea2485d04303e8ae10047f21f for third tools compatibility
Pierre Schweitzer [Thu, 8 Feb 2018 10:50:45 +0000 (11:50 +0100)]
[NTOSKRNL] Revert 6ece4e9fc22d664ea2485d04303e8ae10047f21f for third tools compatibility

19 months ago[NTOSKRNL] Implement CcSetAdditionalCacheAttributes()
Pierre Schweitzer [Thu, 8 Feb 2018 10:49:22 +0000 (11:49 +0100)]
[NTOSKRNL] Implement CcSetAdditionalCacheAttributes()

19 months ago[NTOSKRNL] Misc cosmetic changes
Pierre Schweitzer [Thu, 8 Feb 2018 10:02:07 +0000 (11:02 +0100)]
[NTOSKRNL] Misc cosmetic changes

19 months ago[NTOSKRNL] Implement CcSetReadAheadGranularity()
Pierre Schweitzer [Thu, 8 Feb 2018 08:46:57 +0000 (09:46 +0100)]
[NTOSKRNL] Implement CcSetReadAheadGranularity()

19 months ago[NTOSKRNL] Magic value--
Pierre Schweitzer [Thu, 8 Feb 2018 08:46:08 +0000 (09:46 +0100)]
[NTOSKRNL] Magic value--

19 months ago[SYSDM] Make the GPL text ASCII. CORE-14278
Thomas Faber [Wed, 7 Feb 2018 09:53:51 +0000 (10:53 +0100)]
[SYSDM] Make the GPL text ASCII. CORE-14278

This is better than wasting space on null chars (and having Git mangle it).
Also ensure that it gets CRLF newlines since its contents go in the binary.

19 months ago[LIBXML2] Restore lost ROS-diff introduced in 7571d351ce. CORE-14291 CORE-11799
Thomas Faber [Wed, 7 Feb 2018 23:41:13 +0000 (00:41 +0100)]
[LIBXML2] Restore lost ROS-diff introduced in 7571d351ce. CORE-14291 CORE-11799

19 months ago[NTOSKRNL] When initializing file cache, also allocate a private cache map if needed.
Pierre Schweitzer [Wed, 7 Feb 2018 22:18:54 +0000 (23:18 +0100)]
[NTOSKRNL] When initializing file cache, also allocate a private cache map if needed.
Not used yet.

19 months ago[NTOSKRNL] Drop the CcTryToInitializeFileCache() which is actually doing nothing...
Pierre Schweitzer [Wed, 7 Feb 2018 21:23:25 +0000 (22:23 +0100)]
[NTOSKRNL] Drop the CcTryToInitializeFileCache() which is actually doing nothing relevant

19 months ago[NTOS:KE] Replace "Fatal System Error" with "BugCheck"
Serge Gautherie [Wed, 7 Feb 2018 05:29:02 +0000 (06:29 +0100)]
[NTOS:KE] Replace "Fatal System Error" with "BugCheck"

19 months ago[NTOSKRNL] Use the LockQueueMasterLock where appropriate
Pierre Schweitzer [Wed, 7 Feb 2018 20:35:22 +0000 (21:35 +0100)]
[NTOSKRNL] Use the LockQueueMasterLock where appropriate

19 months ago[NTOSKRNL] Handle FSRTL_FLAG_LIMIT_MODIFIED_PAGES flag in CcDeferWrite().
Pierre Schweitzer [Wed, 7 Feb 2018 20:11:39 +0000 (21:11 +0100)]
Util now, CcDeferWrite() was ignoring limits per file object.

19 months ago[NTOSKRNL] Add wait support in CcCanIWrite()
Pierre Schweitzer [Wed, 7 Feb 2018 20:09:36 +0000 (21:09 +0100)]
[NTOSKRNL] Add wait support in CcCanIWrite()

19 months ago[NTOSKRNL] Implement CcPostDeferredWrites() that executes deferred writes.
Pierre Schweitzer [Wed, 7 Feb 2018 19:27:55 +0000 (20:27 +0100)]
[NTOSKRNL] Implement CcPostDeferredWrites() that executes deferred writes.
Make use of it in the lazy writer

19 months ago[NTOSKRNL] Properly implement lazy writer activity watching.
Pierre Schweitzer [Wed, 7 Feb 2018 17:56:13 +0000 (18:56 +0100)]
[NTOSKRNL] Properly implement lazy writer activity watching.
We get rid of the old iLazyWriterNotify event in favor of work items
that contain an event that lazy writer will set once its done.
To implement this, we rely on the newly introduced CcPostTickWorkQueue work queue
that will contain work items that are to be queued once lazy writer is done.

Move the CcWaitForCurrentLazyWriterActivity() implementation to the
lazy writer file, and reimplemented it using the new support mechanisms

19 months ago[NTOSKRNL] Drop the always running thread for lazy writer.
Pierre Schweitzer [Wed, 7 Feb 2018 17:10:59 +0000 (18:10 +0100)]
[NTOSKRNL] Drop the always running thread for lazy writer.
Instead move to a threading model like the Windows one.
We'll queue several work items to be executed in a system thread (Cc worker)
when there are VACB that have been marked as dirty. Furthermore, some delay
will be observed before action to avoid killing the system with IOs.
This new threading model opens way for read ahead and write behind implementation.

Also, moved the initialization of the lazy writer to CcInitializeCacheManager()
it has nothing to do with views and shouldn't be initialized there.

Also, moved the lazy writer implementation to its own file.

Modified CcDeferWrite() and CcRosMarkDirtyVacb() to take into account the new threading model.

Introduced new functions:
- CcPostWorkQueue(): post an item to be handled by Cc worker and spawn a worker if required
- CcScanDpc(): called after some time (not to have lazy writer always running) to queue a lazy scan
- CcLazyWriteScan(): the lazy writer we used to have
- CcScheduleLazyWriteScan(): function to call when you want to start a lazy writer run. It will make a DPC after some time and queue execution
- CcWorkerThread(): the worker thread that will handle lazy write, read ahead, and so on

19 months ago[NTOSKRNL] On Cc init, also define CcNumberWorkerThreads which will be used later on
Pierre Schweitzer [Wed, 7 Feb 2018 16:52:51 +0000 (17:52 +0100)]
[NTOSKRNL] On Cc init, also define CcNumberWorkerThreads which will be used later on
Also make a "default" case (really limited) in case SystemSize doesn't match.

19 months ago[NTOSKRNL] Rename ExpCriticalWorkerThreads and ExpDelayedWorkerThreads (no p)
Pierre Schweitzer [Wed, 7 Feb 2018 16:51:35 +0000 (17:51 +0100)]
[NTOSKRNL] Rename ExpCriticalWorkerThreads and ExpDelayedWorkerThreads (no p)
to match Windows names and make them available for the whole kernel.

19 months ago[NTOSKRNL] Save system size on init in CcCapturedSystemSize
Pierre Schweitzer [Wed, 7 Feb 2018 16:49:23 +0000 (17:49 +0100)]
[NTOSKRNL] Save system size on init in CcCapturedSystemSize

19 months ago[TRANSLATION] Simplified Chinese translation update for NETID and PING. (#369)
Luo Yufan [Wed, 7 Feb 2018 13:03:42 +0000 (21:03 +0800)]
[TRANSLATION] Simplified Chinese translation update for NETID and PING. (#369)

19 months ago[SYSSETUP] Hackfix CORE-14228
Giannis Adamopoulos [Wed, 7 Feb 2018 00:26:28 +0000 (02:26 +0200)]
[SYSSETUP] Hackfix CORE-14228
Wine's comctl32 somehow fails to load an 24bpp image with ImageList_LoadImageW
when crMask is CLR_NONE so use a color that doesn't exist in the bitmaps until
comctl32 gets fixed.

I prefer to add this silly hack in a non critical dll than make a hasty change in the
critical comctl32 until some proper tests are written for this absurd failure.

Giannis Adamopoulos [Tue, 6 Feb 2018 23:15:49 +0000 (01:15 +0200)]
Such a manifest is meant to be activated by the caller of the exports of the dll.
This means that the user of syssetup which is setup.exe is the one that should do the proper handling of the manifests.
Since setup.exe is the one that needs to do the right thing, add a CREATEPROCESS_MANIFEST_RESOURCE_ID to it and avoid
dealing with ISOLATIONAWARE_MANIFEST_RESOURCE_ID altogether (which is supposed to be used by activating the activation context
before calling the exports of the dll that has it). We don't really use ISOLATIONAWARE_MANIFEST_RESOURCE_ID correctly in any
place in the tree so let's rely on CREATEPROCESS_MANIFEST_RESOURCE_ID for now.

This fixes one part of CORE-14228 where no image was shown in the theme selector buttons. This happened because comctl32 was
statically linked and calling ImageList_LoadImage ended up creating an image list with comctl32 v5. Then we passed this image
list to a button created with comctl32 v6 and as a result the image list was unusable. This is yet another issue that needs
to be addressed in the future. Namely, it seems that in windows comctl32 v6 can use image lists created by comctl32 v5 whereas
we cannot.

This fix is not a hack but cleverly works around these two bugs that need to be addressed some time in the future.

19 months ago[EXPLORER] Update all preview bitmaps showing notification area
Joachim Henze [Tue, 6 Feb 2018 16:35:08 +0000 (17:35 +0100)]
[EXPLORER] Update all preview bitmaps showing notification area

To reflect recent changes in taskbar height, icon spacing,
clock x and y margins.
Also make sure all shots show the exact same time
and choose a more localization agnostic time.

19 months ago[EXPLORER] Update classic/modern startmenu preview bitmaps
Joachim Henze [Tue, 6 Feb 2018 13:48:43 +0000 (14:48 +0100)]
[EXPLORER] Update classic/modern startmenu preview bitmaps

To reflect our recent updates in banners and notification area.
Also reduces explorer binary size by 214.016bytes.

19 months ago[NTOSKRNL] Define the Mm global variables related to Cc on Mm init.
Pierre Schweitzer [Tue, 6 Feb 2018 12:38:55 +0000 (13:38 +0100)]
[NTOSKRNL] Define the Mm global variables related to Cc on Mm init.
This means that MmSystemCacheStart, MmSystemCacheEnd, MmSizeOfSystemCacheInPages
have now a valid value.
System cache is not used atm the moment though. MmMapViewInSystemCache() is to
be implemented, and Cc is to be made aware of this.


19 months ago[RAPPS] Do not resize (hide) the treeview when minimizing.
Mark Jansen [Mon, 5 Feb 2018 23:02:17 +0000 (00:02 +0100)]
[RAPPS] Do not resize (hide) the treeview when minimizing.

19 months ago[TRANSLATION] Romanian translation for FONTEXT and TIMEOUT (#363)
Bișoc George [Mon, 5 Feb 2018 17:57:39 +0000 (18:57 +0100)]
[TRANSLATION] Romanian translation for FONTEXT and TIMEOUT (#363)

[FONTEXT]: At the moment there is a comment in the en-US.rc resource file that advises to not translate it. I only created this file as a basis for the future. The file will be updated later when there is the possibility for FONTEXT to be translated further.

19 months ago[LIBXML2] Update to version 2.9.7. CORE-14291
Thomas Faber [Sun, 4 Feb 2018 16:15:47 +0000 (17:15 +0100)]
[LIBXML2] Update to version 2.9.7. CORE-14291

19 months ago[TRANSLATION][BROWSEUI][MEDIA] Simplified Chinese translations update (#360)
Luo Yufan [Mon, 5 Feb 2018 17:47:53 +0000 (01:47 +0800)]
[TRANSLATION][BROWSEUI][MEDIA] Simplified Chinese translations update (#360)

19 months ago[LIBTIFF] Restore ROS-diff that I thought was no longer needed because of PCH. CORE...
Thomas Faber [Mon, 5 Feb 2018 17:21:23 +0000 (18:21 +0100)]
[LIBTIFF] Restore ROS-diff that I thought was no longer needed because of PCH. CORE-14291