Commit graph

71037 commits

Author SHA1 Message Date
Hermès Bélusca-Maïto fe4704fa64
[SHELL32] Implement the CUserNotification class, which implements the IUserNotification interface. CORE-13177 2018-02-15 22:38:22 +01:00
Hermès Bélusca-Maïto 70bbdca202
[COM_APITEST] Add tests for IUserNotification. CORE-13177 2018-02-15 22:37:32 +01:00
Hermès Bélusca-Maïto cd83ed1ac5
[PSDK] Add definitions for IUserNotification, IQueryContinue, and IUserNotification2 and IUserNotificationCallback (Vista+).
CORE-13177
2018-02-15 22:36:50 +01:00
Serge Gautherie 46f96733bd [SC] Disable debug messages on user interface (#382) 2018-02-15 13:58:17 +00:00
Ivan Labutin 5ae2750467
[HAL] Implement APIC-based profiling for x64. 2018-02-15 12:45:29 +01:00
Thomas Faber ad68422a7b
[IP] Silence "TCP operation failed" debug spam. 2018-02-15 12:26:35 +01:00
Giannis Adamopoulos 67f99833cd [SHELL32] CNewMenu: Don't use CWM_GETISHELLBROWSER.
CDefaultContextMenu: Set the site for context menu extensions
CNewMenu: Get SID_IFolderView service of the site to get the IShellView
2018-02-15 00:58:22 +02:00
Giannis Adamopoulos b97886ea9f [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
2018-02-15 00:23:18 +02:00
Joachim Henze e4aa45f63a [SHELL32] Fix glitch in de-DE.rc
checkbox captions are too long.
issue was introduced by 3624c5d6fd

fixes CORE-14329 for de-DE
2018-02-14 20:12:10 +01:00
Giannis Adamopoulos 111c40e012 [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.
CORE-12866
2018-02-14 00:03:35 +02:00
Hermès Bélusca-Maïto eb3987e172
[SHLWAPI] Import wine commit 2c163225730e88 as addendum to the SHCreateWorkerWindowW/A fixes from commit 770bf93. 2018-02-13 22:30:59 +01:00
Luo Yufan 37b9ca3fe3 [TRANSLATION][INF] Update Simplified Chinese translation. (#378) 2018-02-13 22:16:25 +01:00
Mark Jansen fb7caa7452
[COMCTL32] Import wine commit 71cf0a31d99feb to fix the name column width in rapps. 2018-02-13 19:48:18 +01:00
Hermès Bélusca-Maïto 770bf93be3
[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.
2018-02-13 00:13:47 +01:00
Pierre Schweitzer a5e89014dc
[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).

CORE-14315
2018-02-12 20:47:32 +01:00
Eric Kohl 6c9cdd84bb [SERVICES] Set a complete service status for running boot start or system start drivers 2018-02-12 15:50:30 +01:00
Eric Kohl e917471e04 [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.
2018-02-12 14:58:02 +01:00
Serge Gautherie 12b0dfb71e [APPSHIM_APITEST] Fix 2 Clang-Cl warnings about ok2
"warning: expression result unused [-Wunused-value]"

CORE-14306
2018-02-12 12:34:20 +01:00
Serge Gautherie f1535c2d6e [EXPLORER] Fix a Clang-Cl warning about Icon->ProcessId
"warning: expression result unused [-Wunused-value]"
Regressed in be2bf9b.

CORE-14306
2018-02-12 08:41:26 +00:00
Bișoc George abdde0b764 [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.
2018-02-11 22:56:38 +01:00
Hermès Bélusca-Maïto 075d58cc64
[CONUTILS] Relax the enforcement of using FORMAT_MESSAGE_MAX_WIDTH_MASK in the ConMsg* and ConResMsg* functions. 2018-02-11 18:10:08 +01:00
Hermès Bélusca-Maïto a3403eff05
[MAGNIFY] Call PostQuitMessage() only at the very end. 2018-02-11 00:35:29 +01:00
Pierre Schweitzer bd70987909
[NTOSKRNL] In debug builds, print more information about the top level IRP in the Cc worker thread
CORE-14315
2018-02-10 23:50:26 +01:00
Denis Malikov 420c0360ac
[SDK] Fix NT6 building issues and improve SDK NT6 headers.
CORE-12596
2018-02-10 18:58:35 +01:00
Serge Gautherie 44023cb7d7
[CRT:STARTUP] Fix a Clang-Cl warning about GS_ExceptionPointers
"warning: unused variable 'GS_ExceptionPointers' [-Wunused-const-variable]"
Missed in CORE-8626 r64704.

CORE-14306
2018-02-10 18:13:12 +01:00
Serge Gautherie b789161199
[DXG] Fix a Clang-Cl warning about DDHAL_CB32_CANCREATESURFACE
"warning: use of logical '&&' with constant operand [-Wconstant-logical-operand]"

CORE-14306
2018-02-10 18:04:05 +01:00
Serge Gautherie 71ebfd8717
[OPENGLCFG] Fix a Clang-Cl warning about IDC_DEBUG_OUTPUT
"warning: use of logical '||' with constant operand [-Wconstant-logical-operand]"

CORE-14306
2018-02-10 18:04:03 +01:00
Thomas Faber a7ef5747b5
[STRMBASE] Sync with Wine 3.0. CORE-14225 2018-02-10 17:53:05 +01:00
Eric Kohl 85b71880fa [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.

CORE-14269
2018-02-10 17:02:23 +01:00
David Quintana 3003471e64 [EXPLORER] Send balloon notifications to the callback message.
TODO: Send NIN_BALLOONUSERCLICK when the user clicks on the balloon content (not the X button).
2018-02-10 16:31:26 +01:00
Hermès Bélusca-Maïto 8b78b0ff98
[PSDK] Add missing shell notification message flags. 2018-02-10 15:43:24 +01:00
Eric Kohl 905d65b75b [SERVICES] Support the NoInteractiveServices registry value 2018-02-10 14:23:11 +01:00
Pierre Schweitzer a6e080bd3d
[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.
2018-02-09 21:52:41 +01:00
Pierre Schweitzer 5d93941d31
[NTOSKRNL] Modified CcCanIWrite to handle Mm throttling limits 2018-02-09 14:22:00 +01:00
Pierre Schweitzer 6b0cb54fe5
[NTOSKRNL] Define the throttling limits for Cc in Mm: MmThrottleTop, MmThrottleBottom.
Modified !defwrites to reflect that change
2018-02-09 14:21:14 +01:00
Pierre Schweitzer 945ff8ea2e
[NTOSKRNL] Rewrite CcCanIWrite() to make it more accurate and handle specific callers 2018-02-09 13:56:16 +01:00
Pierre Schweitzer f51b74ca61
[NTOSKRNL] Don't defer write through write operations 2018-02-09 12:25:58 +01:00
Pierre Schweitzer d35243d4e0
[NTOSKRNL] Quickly implement the !defwrites in KDBG 2018-02-09 12:16:29 +01:00
Pierre Schweitzer 0518444217
[NTOSKRNL] Drop the iSharedCacheMapLock in favor of the master lock 2018-02-09 11:13:53 +01:00
Pierre Schweitzer 8119e0ad2b
[NTOSKRNL] Silence lazy writer now we know it works 2018-02-09 11:05:44 +01:00
Pierre Schweitzer fc4744da5f
[NTOSKRNL] Use better locking for private cache map in CcRosReleaseFileCache().
Suggested by Thomas
2018-02-09 11:05:15 +01:00
Pierre Schweitzer c5139563db
[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.

CORE-14312
2018-02-09 10:14:11 +01:00
Alexander Shaposhnikov f4fedb936e
[RAPPS] Fix column sorting
CORE-13793
2018-02-09 00:53:31 +02:00
Alexander Shaposhnikov b698067e35
[RAPPS] Set header style when sorting by column 2018-02-09 00:41:55 +02:00
Pierre Schweitzer f0c7f862d4
[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?)
2018-02-08 14:15:02 +01:00
Pierre Schweitzer f8b5d27807
[NDK] Update the PRIVATE_CACHE_MAP structure to match W2K3 one.
Also update the spin lock on allocation.
2018-02-08 14:02:42 +01:00
Pierre Schweitzer de897cbe3d
[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.

CORE-14263
CORE-14279
CORE-14285
2018-02-08 13:40:54 +01:00
Pierre Schweitzer e26e4445b3
[NTOSKRNL] Revert 6ece4e9fc2 for third tools compatibility 2018-02-08 11:50:45 +01:00
Pierre Schweitzer df5839db5b
[NTOSKRNL] Implement CcSetAdditionalCacheAttributes() 2018-02-08 11:49:22 +01:00
Pierre Schweitzer f8c3f0c9c4
[NTOSKRNL] Misc cosmetic changes 2018-02-08 11:02:26 +01:00