[ros-diffs] [reactos] 01/01: [CMD] Update the documentation of the FOR command. CORE-5806

2017-11-21 Thread Hermès Bélusca-Maïto
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=748c87202c6a6ed717059c72224d44487b40f678

commit 748c87202c6a6ed717059c72224d44487b40f678
Author: Hermès Bélusca-Maïto 
AuthorDate: Tue Nov 21 23:45:54 2017 +0100

[CMD] Update the documentation of the FOR command. CORE-5806

- Also update & translate the french translation.
- Translators, please verify & update the translations!
---
 base/shell/cmd/cmd.rc|  2 +-
 base/shell/cmd/lang/cs-CZ.rc | 19 ---
 base/shell/cmd/lang/de-DE.rc | 23 ++-
 base/shell/cmd/lang/el-GR.rc | 19 ---
 base/shell/cmd/lang/en-US.rc | 19 ---
 base/shell/cmd/lang/es-ES.rc | 25 -
 base/shell/cmd/lang/fr-FR.rc | 37 ++---
 base/shell/cmd/lang/hu-HU.rc | 21 +
 base/shell/cmd/lang/id-ID.rc | 19 ---
 base/shell/cmd/lang/it-IT.rc | 23 ++-
 base/shell/cmd/lang/ja-JP.rc | 21 +
 base/shell/cmd/lang/no-NO.rc | 21 +
 base/shell/cmd/lang/pl-PL.rc | 25 +++--
 base/shell/cmd/lang/ro-RO.rc | 23 ++-
 base/shell/cmd/lang/ru-RU.rc | 19 ---
 base/shell/cmd/lang/sk-SK.rc | 19 ---
 base/shell/cmd/lang/sq-AL.rc | 23 ++-
 base/shell/cmd/lang/sv-SE.rc | 23 ++-
 base/shell/cmd/lang/tr-TR.rc | 21 +
 base/shell/cmd/lang/uk-UA.rc | 25 +++--
 base/shell/cmd/lang/zh-CN.rc | 23 ++-
 base/shell/cmd/lang/zh-TW.rc | 23 ++-
 22 files changed, 375 insertions(+), 98 deletions(-)

diff --git a/base/shell/cmd/cmd.rc b/base/shell/cmd/cmd.rc
index ba8e0a62ac..3c4ae061fc 100644
--- a/base/shell/cmd/cmd.rc
+++ b/base/shell/cmd/cmd.rc
@@ -91,4 +91,4 @@ END
 #endif
 #ifdef LANGUAGE_ZH_TW
 #include "lang/zh-TW.rc"
-#endif
\ No newline at end of file
+#endif
diff --git a/base/shell/cmd/lang/cs-CZ.rc b/base/shell/cmd/lang/cs-CZ.rc
index 447bf2a0f9..1c8c84d865 100644
--- a/base/shell/cmd/lang/cs-CZ.rc
+++ b/base/shell/cmd/lang/cs-CZ.rc
@@ -216,12 +216,25 @@ Type ECHO without a parameter to display the current ECHO 
setting."
   /BExits a batch file only.  \n\
 If run outside of a batch file it will exit cmd.exe\n\
   ExitCode  This value will be assigned to ERRORLEVEL on exit\n"
-STRING_FOR_HELP1 "Runs a specified command for each file in a set of 
files\n\n\
-FOR %variable IN (set) DO command [parameters]\n\n\
+STRING_FOR_HELP1 "Runs a specified command for each file in a set of 
files.\n\n\
+FOR %variable IN (set) DO command [parameters]\n\
+FOR /L %variable IN (start,step,end) DO command [parameters]\n\
+FOR /D %variable IN (set) DO command [parameters]\n\
+FOR /R [[drive:]path] IN (set) DO command [parameters]\n\
+FOR /F [""options""] IN (set) DO command [parameters]\n\n\
+  /LGenerates a number sequence from start to end incrementing by step.\n\
+  /DModifies the set to refer to directories instead of files.\n\
+  /RExecutes command for files in the set in the specified path (or 
current\n\
+working directory if not specified) and every directory below.\n\
+  /FModifies the set to refer to the contents of the files in the set.\n\n\
   %variable  Specifies a replaceable parameter.\n\
   (set)  Specifies a set of one or more files. Wildcards may be used.\n\
   commandSpecifies the command to carry out for each file.\n\
-  parameters Specifies parameters or switches for the specified command.\n\n\
+  parameters Specifies parameters or switches for the specified command.\n\
+  optionsSupported options are: eol, skip, delims, tokens, and 
usebackq.\n\n\
+Replacable parameters can be modified by adding a ~ and an optional 
qualifier\n\
+after the % and before the name (e.g. %~X). Supported qualifiers are:\n\
+f,d,p,n,x,s,a,t,z.\n\n\
 To use the FOR command in a batch program, specify %%variable instead of\n\
 %variable.\n"
 STRING_FREE_HELP1 "\nVolume in drive %s is %-11s\n\
diff --git a/base/shell/cmd/lang/de-DE.rc b/base/shell/cmd/lang/de-DE.rc
index 9b243a23e7..9067bdd5ba 100644
--- a/base/shell/cmd/lang/de-DE.rc
+++ b/base/shell/cmd/lang/de-DE.rc
@@ -209,12 +209,25 @@ ECHO ohne Parameter zeigt die aktuelle Einstellung der 
Befehlsanzeige an."
 STRING_ECHO_HELP5 "ECHO ist %s\n"
 STRING_EXIT_HELP "Beendet den Befehlsinterpreter CMD.EXE oder die aktuelle 
Batchdatei.\n\nEXIT"
 STRING_FOR_HELP1 "Führt einen Befehl für jede einzelne Datei für einen 
Satz von Dateien aus.\n\n\
-FOR %Variable IN (Satz) DO Befehl [Parameter]\n\n\
-  %variable  Ein ersetzbarer Parameter bestehend aus einem einzelnen\n\
-  Buchstaben.\n\
+FOR %Variable IN (Satz) DO Befehl [Parameter]\n\
+FOR /L %Variable IN (start,step,end) DO Befehl [Parameter]\n\
+FOR /D %Variable IN (Satz) DO Befehl [Parameter]\n\
+FOR /R [[drive:]p

[ros-diffs] [reactos] 01/01: [PCIIDEX] Properly handle unknown PNP IRPs. CORE-13944

2017-11-21 Thread Thomas Faber
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=ed95fa19f079465eccc5a055cad017eac6438d94

commit ed95fa19f079465eccc5a055cad017eac6438d94
Author: Thomas Faber 
AuthorDate: Sun Nov 12 14:31:20 2017 +0100

[PCIIDEX] Properly handle unknown PNP IRPs. CORE-13944
---
 drivers/storage/ide/pciidex/pdo.c | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)

diff --git a/drivers/storage/ide/pciidex/pdo.c 
b/drivers/storage/ide/pciidex/pdo.c
index af41e5f5f7..c82d9d7fea 100644
--- a/drivers/storage/ide/pciidex/pdo.c
+++ b/drivers/storage/ide/pciidex/pdo.c
@@ -428,8 +428,7 @@ PciIdeXPdoPnpDispatch(
{
DPRINT1("IRP_MJ_PNP / 
IRP_MN_QUERY_DEVICE_RELATIONS / Unknown type 0x%lx\n",

Stack->Parameters.QueryDeviceRelations.Type);
-   ASSERT(FALSE);
-   Status = STATUS_NOT_SUPPORTED;
+   Status = Irp->IoStatus.Status;
break;
}
}
@@ -526,7 +525,6 @@ PciIdeXPdoPnpDispatch(
/* We can't forward request to the lower driver, because
 * we are a Pdo, so we don't have lower driver... */
DPRINT1("IRP_MJ_PNP / Unknown minor function 0x%lx\n", 
MinorFunction);
-   ASSERT(FALSE);
Information = Irp->IoStatus.Information;
Status = Irp->IoStatus.Status;
}



[ros-diffs] [reactos] 01/01: [FASTFAT] More FS statistics

2017-11-21 Thread Pierre Schweitzer
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=8503842309018f02eb43c714d6d385f7bb75d0da

commit 8503842309018f02eb43c714d6d385f7bb75d0da
Author: Pierre Schweitzer 
AuthorDate: Tue Nov 21 22:18:11 2017 +0100

[FASTFAT] More FS statistics
---
 drivers/filesystems/fastfat/rw.c | 30 ++
 1 file changed, 26 insertions(+), 4 deletions(-)

diff --git a/drivers/filesystems/fastfat/rw.c b/drivers/filesystems/fastfat/rw.c
index 0ac467d87d..c945ee6044 100644
--- a/drivers/filesystems/fastfat/rw.c
+++ b/drivers/filesystems/fastfat/rw.c
@@ -673,6 +673,9 @@ VfatRead(
 Status = /*STATUS_END_OF_FILE*/STATUS_SUCCESS;
 }
 
+vfatAddToStat(IrpContext->DeviceExt, Base.UserFileReads, 1);
+vfatAddToStat(IrpContext->DeviceExt, Base.UserFileReadBytes, Length);
+
 _SEH2_TRY
 {
 if (IrpContext->FileObject->PrivateCacheMap == NULL)
@@ -722,8 +725,16 @@ VfatRead(
 Length = (ULONG)(ROUND_UP_64(Fcb->RFCB.FileSize.QuadPart, 
BytesPerSector) - ByteOffset.QuadPart);
 }
 
-vfatAddToStat(IrpContext->DeviceExt, Fat.NonCachedReads, 1);
-vfatAddToStat(IrpContext->DeviceExt, Fat.NonCachedReadBytes, Length);
+if (!IsVolume)
+{
+vfatAddToStat(IrpContext->DeviceExt, Fat.NonCachedReads, 1);
+vfatAddToStat(IrpContext->DeviceExt, Fat.NonCachedReadBytes, 
Length);
+}
+else
+{
+vfatAddToStat(IrpContext->DeviceExt, Base.MetaDataReads, 1);
+vfatAddToStat(IrpContext->DeviceExt, Base.MetaDataReadBytes, 
Length);
+}
 
 Status = VfatReadFileData(IrpContext, Length, ByteOffset, 
&ReturnedLength);
 if (NT_SUCCESS(Status))
@@ -954,6 +965,9 @@ VfatWrite(
 {
 // cached write
 
+vfatAddToStat(IrpContext->DeviceExt, Base.UserFileWrites, 1);
+vfatAddToStat(IrpContext->DeviceExt, Base.UserFileWriteBytes, Length);
+
 _SEH2_TRY
 {
 if (IrpContext->FileObject->PrivateCacheMap == NULL)
@@ -1006,8 +1020,16 @@ VfatWrite(
 CcZeroData(IrpContext->FileObject, &OldFileSize, &ByteOffset, 
TRUE);
 }
 
-vfatAddToStat(IrpContext->DeviceExt, Fat.NonCachedWrites, 1);
-vfatAddToStat(IrpContext->DeviceExt, Fat.NonCachedWriteBytes, Length);
+if (!IsVolume)
+{
+vfatAddToStat(IrpContext->DeviceExt, Fat.NonCachedWrites, 1);
+vfatAddToStat(IrpContext->DeviceExt, Fat.NonCachedWriteBytes, 
Length);
+}
+else
+{
+vfatAddToStat(IrpContext->DeviceExt, Base.MetaDataWrites, 1);
+vfatAddToStat(IrpContext->DeviceExt, Base.MetaDataWriteBytes, 
Length);
+}
 
 Status = VfatWriteFileData(IrpContext, Length, ByteOffset);
 if (NT_SUCCESS(Status))



[ros-diffs] [reactos] 01/01: [SHELL32] Update French translation

2017-11-21 Thread Pierre Schweitzer
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=63dcfd2de3e3b8d75fd111fb41b9b18cb7523c7c

commit 63dcfd2de3e3b8d75fd111fb41b9b18cb7523c7c
Author: Pierre Schweitzer 
AuthorDate: Tue Nov 21 18:24:08 2017 +0100

[SHELL32] Update French translation
---
 dll/win32/shell32/lang/fr-FR.rc | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/dll/win32/shell32/lang/fr-FR.rc b/dll/win32/shell32/lang/fr-FR.rc
index 325487e4fe..a16d160512 100644
--- a/dll/win32/shell32/lang/fr-FR.rc
+++ b/dll/win32/shell32/lang/fr-FR.rc
@@ -807,7 +807,7 @@ BEGIN
 IDS_ANY_FILE "%s-file" 
 
 IDS_OPEN_VERB "Ouvrir"
-IDS_EXPLORE_VERB "Explore"
+IDS_EXPLORE_VERB "Explorer"
 IDS_RUNAS_VERB "Exécuter en tant que..."
 IDS_EDIT_VERB "Éditer"
 IDS_FIND_VERB "Chercher"



[ros-diffs] [reactos] 01/01: [FLTMGR] Latest from my branch (#135)

2017-11-21 Thread Ged Murphy
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=dfb776380d4ca289a30b999791040d80bd38e0ae

commit dfb776380d4ca289a30b999791040d80bd38e0ae
Author: Ged Murphy 
AuthorDate: Tue Nov 21 16:36:29 2017 +

[FLTMGR] Latest from my branch (#135)

[FLTMGR][KMTEST]
Squash and push my local branch across to master as the patch is getting a 
bit large. This is still WIP and none of this code is run in ros yet, so don't 
fret if you see ugly/unfinished code or int3's dotted around.

[FLTMGR] Improve loading/reg of filters and start to implement client 
connections
- Implement handling of connections from clients
- Implement closing of client ports
- Add a basic message waiter queue using CSQ's (untested)
- Hand off messages for the comms object to be handled by the comms file
- Initialize the connection list
- Add a registry file which will contain lib functions for accessing filter 
service entries

- [KMTEST] Initial usermode support for testing FS mini-filters
- Add base routines to wrap the win32 'Filter' APis
- Add support routines to be used when testing FS filter drivers
- Move KmtCreateService to a private routine so it can be shared with 
KmtFltCreateService
- Completely untested at the mo, so likely contains bugs at this point
- Add support for adding altitude and flags registry entries for minifilters
- Allow minifilters to setup without requiring instance attach/detach 
callbacks
- Add tests for FltRegisterFilter and FltUnregisterFilter and start to add 
associated tests
---
 drivers/filters/fltmgr/CMakeLists.txt  |   1 +
 drivers/filters/fltmgr/Filter.c| 223 +-
 drivers/filters/fltmgr/Interface.c |  22 +-
 drivers/filters/fltmgr/Messaging.c | 462 -
 drivers/filters/fltmgr/Misc.c  |   2 +-
 drivers/filters/fltmgr/Registry.c  | 142 +++
 drivers/filters/fltmgr/Registry.h  |  20 +
 drivers/filters/fltmgr/fltmgr.h|   7 +-
 drivers/filters/fltmgr/fltmgrint.h | 180 +---
 modules/rostests/kmtests/CMakeLists.txt|   4 +
 modules/rostests/kmtests/fltmgr/CMakeLists.txt |   1 +
 .../kmtests/fltmgr/fltmgr_load/CMakeLists.txt  |  12 +-
 .../kmtests/fltmgr/fltmgr_load/fltmgr_load.c   |   2 +-
 .../kmtests/fltmgr/fltmgr_load/fltmgr_user.c   |  28 ++
 .../kmtests/fltmgr/fltmgr_register/CMakeLists.txt  |  15 +
 .../fltmgr/fltmgr_register/fltmgr_reg_user.c   |  23 +
 .../fltmgr/fltmgr_register/fltmgr_register.c   | 248 +++
 modules/rostests/kmtests/include/kmt_platform.h|   1 +
 modules/rostests/kmtests/include/kmt_test.h|  17 +-
 modules/rostests/kmtests/kmtest/filter.c   |  88 +---
 modules/rostests/kmtests/kmtest/fltsupport.c   | 335 +--
 modules/rostests/kmtests/kmtest/kmtest.h   |  11 +-
 modules/rostests/kmtests/kmtest/testlist.c |   4 +
 .../kmtests/kmtest_drv/kmtest_fsminifilter.c   | 121 --
 24 files changed, 1739 insertions(+), 230 deletions(-)

diff --git a/drivers/filters/fltmgr/CMakeLists.txt 
b/drivers/filters/fltmgr/CMakeLists.txt
index 5a02cab116..cb6ebbdd18 100644
--- a/drivers/filters/fltmgr/CMakeLists.txt
+++ b/drivers/filters/fltmgr/CMakeLists.txt
@@ -7,6 +7,7 @@ list(APPEND SOURCE
 Messaging.c
 Misc.c
 Object.c
+Registry.c
 Volume.c
 ${CMAKE_CURRENT_BINARY_DIR}/fltmgr.def
 fltmgr.h)
diff --git a/drivers/filters/fltmgr/Filter.c b/drivers/filters/fltmgr/Filter.c
index 71e45aea04..92a824c0d3 100644
--- a/drivers/filters/fltmgr/Filter.c
+++ b/drivers/filters/fltmgr/Filter.c
@@ -10,6 +10,7 @@
 
 #include "fltmgr.h"
 #include "fltmgrint.h"
+#include "Registry.h"
 
 #define NDEBUG
 #include 
@@ -25,6 +26,17 @@ FltpStartingToDrainObject(
 _Inout_ PFLT_OBJECT Object
 );
 
+VOID
+FltpMiniFilterDriverUnload(
+);
+
+static
+NTSTATUS
+GetFilterAltitude(
+_In_ PFLT_FILTER Filter,
+_Inout_ PUNICODE_STRING AltitudeString
+);
+
 
 /* EXPORTED FUNCTIONS **/
 
@@ -56,8 +68,26 @@ NTSTATUS
 NTAPI
 FltUnloadFilter(_In_ PCUNICODE_STRING FilterName)
 {
-UNREFERENCED_PARAMETER(FilterName);
-return STATUS_NOT_IMPLEMENTED;
+//
+//FIXME: This is a temp hack, it needs properly implementing
+//
+
+UNICODE_STRING DriverServiceName;
+UNICODE_STRING ServicesKey;
+CHAR Buffer[MAX_KEY_LENGTH];
+
+/* Setup the base services key */
+RtlInitUnicodeString(&ServicesKey, SERVICES_KEY);
+
+/* Initialize the string data */
+DriverServiceName.Length = 0;
+DriverServiceName.Buffer = (PWCH)Buffer;
+DriverServiceName.MaximumLength = MAX_KEY_LENGTH;
+
+/* Create the full service key for this filter */
+RtlCopyUnicodeString(&DriverServiceName, &ServicesKey);
+RtlAppendUnicodeStringToString(&DriverServiceName, FilterName

[ros-diffs] [reactos] 01/01: [SHELL32] Update Russian translation, following 6465705

2017-11-21 Thread Stanislav Motylkov
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=f884d29c90db2e62ef7f16f908587514ba450357

commit f884d29c90db2e62ef7f16f908587514ba450357
Author: Stanislav Motylkov 
AuthorDate: Tue Nov 21 14:16:31 2017 +0300

[SHELL32] Update Russian translation, following 6465705
---
 dll/win32/shell32/lang/ru-RU.rc | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/dll/win32/shell32/lang/ru-RU.rc b/dll/win32/shell32/lang/ru-RU.rc
index 5c424adadf..3430148392 100644
--- a/dll/win32/shell32/lang/ru-RU.rc
+++ b/dll/win32/shell32/lang/ru-RU.rc
@@ -783,8 +783,8 @@ BEGIN
 IDS_CANTLOCKVOLUME "Не удалось заблокировать том (код ошибки: %lu)."
 IDS_CANTDISMOUNTVOLUME "Не удалось размонтировать том (код ошибки: %lu)."
 IDS_CANTEJECTMEDIA "Не удалось извлечь носитель (код ошибки: %lu)."
-IDS_CANTSHOWPROPERTIES "Unable to show properties (Error Code: %lu)."
-IDS_CANTDISCONNECT "Unable to disconnect (Error Code: %lu)."
+IDS_CANTSHOWPROPERTIES "Не удалось вывести свойства (код ошибки: %lu)."
+IDS_CANTDISCONNECT "Не удалось отсоединить сетевой диск (код ошибки: %lu)."
 
 IDS_DIRECTORY "Папка с файлами"
 IDS_BAT_FILE "Пакетный файл ReactOS"



[ros-diffs] [reactos] 01/01: [MSGINA] Fix buttons alignment in French translation

2017-11-21 Thread Pierre Schweitzer
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=9904aafd12eb017bf43b7e3fd3cbb512ac64c383

commit 9904aafd12eb017bf43b7e3fd3cbb512ac64c383
Author: Pierre Schweitzer 
AuthorDate: Tue Nov 21 11:49:01 2017 +0100

[MSGINA] Fix buttons alignment in French translation
---
 dll/win32/msgina/lang/fr-FR.rc | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/dll/win32/msgina/lang/fr-FR.rc b/dll/win32/msgina/lang/fr-FR.rc
index fd6d0b61aa..cb4a9cb978 100644
--- a/dll/win32/msgina/lang/fr-FR.rc
+++ b/dll/win32/msgina/lang/fr-FR.rc
@@ -49,7 +49,7 @@ BEGIN
 PUSHBUTTON "Verrouiller l'ordinateur", IDC_LOCK, 4, 135, 82, 14
 PUSHBUTTON "Déconnecter", IDC_LOGOFF, 93, 135, 85, 14
 PUSHBUTTON "Éteindre", IDC_SHUTDOWN, 184, 135, 70, 14
-PUSHBUTTON "Changer le mot de passe", IDC_CHANGEPWD, 10, 154, 76, 14
+PUSHBUTTON "Changer le mot de passe", IDC_CHANGEPWD, 4, 154, 82, 14
 PUSHBUTTON "Gestionnaire de tâches", IDC_TASKMGR, 93, 154, 85, 14
 PUSHBUTTON "Annuler", IDCANCEL, 184, 154, 70, 14
 END



[ros-diffs] [reactos] 01/01: [FLOPPY] Don't wait forever while trying to determine media type. This should fix some virtual machines and real hardware machine with empty floopy drive not being able to

2017-11-21 Thread Pierre Schweitzer
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=4b34e44782e44afe2af5277887d8e7df0d436a87

commit 4b34e44782e44afe2af5277887d8e7df0d436a87
Author: Pierre Schweitzer 
AuthorDate: Tue Nov 21 10:22:50 2017 +0100

[FLOPPY] Don't wait forever while trying to determine media type.
This should fix some virtual machines and real hardware machine with empty 
floopy drive
not being able to boot ReactOS (stuck while initializing floppy.sys).
This fixes a regression introduced in r70746.
It could be generalized to other interrupts, floppy controllers not being 
reliable.

For more information: http://wiki.osdev.org/Floppy_Disk_Controller

CORE-7935
CORE-12908
CORE-13080
---
 drivers/storage/floppy/floppy.c| 19 ---
 drivers/storage/floppy/floppy.h|  4 ++--
 drivers/storage/floppy/readwrite.c | 16 ++--
 3 files changed, 24 insertions(+), 15 deletions(-)

diff --git a/drivers/storage/floppy/floppy.c b/drivers/storage/floppy/floppy.c
index d388cf7d37..4234b0f8bb 100644
--- a/drivers/storage/floppy/floppy.c
+++ b/drivers/storage/floppy/floppy.c
@@ -159,12 +159,13 @@ StopMotor(PCONTROLLER_INFO ControllerInfo)
 }
 
 
-VOID NTAPI
-WaitForControllerInterrupt(PCONTROLLER_INFO ControllerInfo)
+NTSTATUS NTAPI
+WaitForControllerInterrupt(PCONTROLLER_INFO ControllerInfo, PLARGE_INTEGER 
Timeout)
 /*
  * FUNCTION: Wait for the controller to interrupt, and then clear the event
  * ARGUMENTS:
  * ControllerInfo: Controller to wait for
+ * Timeout: How long to wait for
  * NOTES:
  * - There is a small chance that an unexpected or spurious interrupt could
  *   be lost with this clear/wait/clear scheme used in this driver.  This 
is
@@ -173,11 +174,15 @@ WaitForControllerInterrupt(PCONTROLLER_INFO 
ControllerInfo)
  * - PAGED_CODE because it waits
  */
 {
+NTSTATUS Status;
+
 PAGED_CODE();
 ASSERT(ControllerInfo);
 
-KeWaitForSingleObject(&ControllerInfo->SynchEvent, Executive, KernelMode, 
FALSE, NULL);
+Status = KeWaitForSingleObject(&ControllerInfo->SynchEvent, Executive, 
KernelMode, FALSE, Timeout);
 KeClearEvent(&ControllerInfo->SynchEvent);
+
+return Status;
 }
 
 static DRIVER_DISPATCH CreateClose;
@@ -262,7 +267,7 @@ Recalibrate(PDRIVE_INFO DriveInfo)
 continue;
 }
 
-WaitForControllerInterrupt(DriveInfo->ControllerInfo);
+WaitForControllerInterrupt(DriveInfo->ControllerInfo, NULL);
 
 /* Get the results */
 Status = HwRecalibrateResult(DriveInfo->ControllerInfo);
@@ -323,7 +328,7 @@ ResetChangeFlag(PDRIVE_INFO DriveInfo)
 return STATUS_IO_DEVICE_ERROR;
 }
 
-WaitForControllerInterrupt(DriveInfo->ControllerInfo);
+WaitForControllerInterrupt(DriveInfo->ControllerInfo, NULL);
 
 if(HwSenseInterruptStatus(DriveInfo->ControllerInfo) != STATUS_SUCCESS)
 {
@@ -340,7 +345,7 @@ ResetChangeFlag(PDRIVE_INFO DriveInfo)
 return STATUS_IO_DEVICE_ERROR;
 }
 
-WaitForControllerInterrupt(DriveInfo->ControllerInfo);
+WaitForControllerInterrupt(DriveInfo->ControllerInfo, NULL);
 
 if(HwSenseInterruptStatus(DriveInfo->ControllerInfo) != STATUS_SUCCESS)
 {
@@ -701,7 +706,7 @@ InitController(PCONTROLLER_INFO ControllerInfo)
 INFO_(FLOPPY, "InitController: waiting for initial interrupt\n");
 
 /* Wait for an interrupt */
-WaitForControllerInterrupt(ControllerInfo);
+WaitForControllerInterrupt(ControllerInfo, NULL);
 
 /* Reset means you have to clear each of the four interrupts (one per 
drive) */
 for(i = 0; i < MAX_DRIVES_PER_CONTROLLER; i++)
diff --git a/drivers/storage/floppy/floppy.h b/drivers/storage/floppy/floppy.h
index e1d0efcd88..cd0301ca53 100644
--- a/drivers/storage/floppy/floppy.h
+++ b/drivers/storage/floppy/floppy.h
@@ -92,8 +92,8 @@ DriverEntry(PDRIVER_OBJECT DriverObject, PUNICODE_STRING 
RegistryPath);
 VOID NTAPI
 SignalMediaChanged(PDEVICE_OBJECT DeviceObject, PIRP Irp);
 
-VOID NTAPI
-WaitForControllerInterrupt(PCONTROLLER_INFO ControllerInfo);
+NTSTATUS NTAPI
+WaitForControllerInterrupt(PCONTROLLER_INFO ControllerInfo, PLARGE_INTEGER 
Timeout);
 
 NTSTATUS NTAPI
 ResetChangeFlag(PDRIVE_INFO DriveInfo);
diff --git a/drivers/storage/floppy/readwrite.c 
b/drivers/storage/floppy/readwrite.c
index 594d9c7e8b..2ce3a6ccf1 100644
--- a/drivers/storage/floppy/readwrite.c
+++ b/drivers/storage/floppy/readwrite.c
@@ -170,6 +170,7 @@ RWDetermineMediaType(PDRIVE_INFO DriveInfo, BOOLEAN OneShot)
 UCHAR HeadLoadTime;
 UCHAR HeadUnloadTime;
 UCHAR StepRateTime;
+LARGE_INTEGER Timeout;
 
 PAGED_CODE();
 
@@ -181,9 +182,12 @@ RWDetermineMediaType(PDRIVE_INFO DriveInfo, BOOLEAN 
OneShot)
  * Note that only 1.44 has been tested at all.
  */
 
+Timeout.QuadPart = -1000; /* 1 second. Is that enough? */
+
 do
 {
 int i;
+NTSTATUS Status;
 
 /* Program data rate */
 if(HwSetDataRate(DriveInfo->ControllerInfo, DRSR_

[ros-diffs] [reactos] 01/01: [UXTHEME] -Don't change the behaviour of DefWindowProc if SetWindowRgn was called before

2017-11-21 Thread Giannis Adamopoulos
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=8f98574e1d4a2155061c40816a597b7697aa6654

commit 8f98574e1d4a2155061c40816a597b7697aa6654
Author: Giannis Adamopoulos 
AuthorDate: Tue Nov 21 10:51:06 2017 +0200

[UXTHEME] -Don't change the behaviour of DefWindowProc if SetWindowRgn was 
called before
---
 dll/win32/uxtheme/themehooks.c | 18 +++---
 1 file changed, 15 insertions(+), 3 deletions(-)

diff --git a/dll/win32/uxtheme/themehooks.c b/dll/win32/uxtheme/themehooks.c
index 43620d8ff3..48cfdb211a 100644
--- a/dll/win32/uxtheme/themehooks.c
+++ b/dll/win32/uxtheme/themehooks.c
@@ -267,8 +267,14 @@ int OnPostWinPosChanged(HWND hWnd, WINDOWPOS* pWinPos)
 
 static LRESULT CALLBACK
 ThemeDefWindowProcW(HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam)
-{  
-if(!IsAppThemed() || !(GetThemeAppProperties() & STAP_ALLOW_NONCLIENT))
+{
+PWND_DATA pwndData;
+
+pwndData = (PWND_DATA)GetPropW(hWnd, (LPCWSTR)MAKEINTATOM(atWndContext));
+
+if(!IsAppThemed() || 
+   !(GetThemeAppProperties() & STAP_ALLOW_NONCLIENT) ||
+   (pwndData && pwndData->HasAppDefinedRgn))
 {
 return g_user32ApiHook.DefWindowProcW(hWnd, 
 Msg, 
@@ -286,7 +292,13 @@ ThemeDefWindowProcW(HWND hWnd, UINT Msg, WPARAM wParam, 
LPARAM lParam)
 static LRESULT CALLBACK
 ThemeDefWindowProcA(HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam)
 {
-if(!IsAppThemed() || !(GetThemeAppProperties() & STAP_ALLOW_NONCLIENT))
+PWND_DATA pwndData;
+
+pwndData = (PWND_DATA)GetPropW(hWnd, (LPCWSTR)MAKEINTATOM(atWndContext));
+
+if(!IsAppThemed() || 
+   !(GetThemeAppProperties() & STAP_ALLOW_NONCLIENT) ||
+   (pwndData && pwndData->HasAppDefinedRgn))
 {
 return g_user32ApiHook.DefWindowProcA(hWnd, 
 Msg,