Author: gadamopoulos
Date: Sun Sep 27 11:31:52 2015
New Revision: 69370
URL: http://svn.reactos.org/svn/reactos?rev=69370&view=rev
Log:
[SHELL32]
- Improve a change from r27016. Running the control panel applets in the context of explorer is not correct. We should really use ShellExecute here.
Modified:
trunk/reactos/dll/win32/shell32/folders/CControlPanelFolder.cpp
Modified: trunk/reactos/dll/win32/shell32/folders/CControlPanelFolder.cpp
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/shell32/folders/…
==============================================================================
--- trunk/reactos/dll/win32/shell32/folders/CControlPanelFolder.cpp [iso-8859-1] (original)
+++ trunk/reactos/dll/win32/shell32/folders/CControlPanelFolder.cpp [iso-8859-1] Sun Sep 27 11:31:52 2015
@@ -717,13 +717,15 @@
if (lpcmi->lpVerb == MAKEINTRESOURCEA(IDS_OPEN)) //FIXME
{
+ /* Hardcode the command here; Executing a cpl file would be fine but we also need to run things like console.dll */
WCHAR wszParams[MAX_PATH];
-
- wcscpy(wszParams, pCPanel->szName);
- wcscat(wszParams, L",");
- wcscat(wszParams, pCPanel->szName + pCPanel->offsDispName);
-
- Control_RunDLLW (NULL, NULL, wszParams, SW_NORMAL);
+ PWSTR wszFile = L"rundll32.exe";
+ PWSTR wszFormat = L"shell32.dll,Control_RunDLL %s,%s";
+
+ wsprintfW(wszParams, wszFormat, pCPanel->szName, pCPanel->szName + pCPanel->offsDispName);
+
+ /* Note: we pass the applet name to Control_RunDLL to distinguish between multiple applets in one .cpl file */
+ ShellExecuteW(NULL, NULL, wszFile, wszParams, NULL, 0);
}
else if (lpcmi->lpVerb == MAKEINTRESOURCEA(IDS_CREATELINK)) //FIXME
{
Author: akhaldi
Date: Sat Sep 26 16:30:49 2015
New Revision: 69363
URL: http://svn.reactos.org/svn/reactos?rev=69363&view=rev
Log:
[COMCTL32] Mark a ros-diff with its tracking ticket: CORE-4912
Modified:
trunk/reactos/dll/win32/comctl32/treeview.c
Modified: trunk/reactos/dll/win32/comctl32/treeview.c
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/comctl32/treevie…
==============================================================================
--- trunk/reactos/dll/win32/comctl32/treeview.c [iso-8859-1] (original)
+++ trunk/reactos/dll/win32/comctl32/treeview.c [iso-8859-1] Sat Sep 26 16:30:49 2015
@@ -2871,7 +2871,7 @@
//
// FIXME: This is correct, but is causes and infinite loop of WM_PAINT
// messages, resulting in continuous painting of the scroll bar in reactos.
- // Comment out until the real bug is found
+ // Comment out until the real bug is found. CORE-4912
//
#ifndef __REACTOS__
TREEVIEW_UpdateScrollBars(infoPtr);
Author: hbelusca
Date: Sat Sep 26 03:24:55 2015
New Revision: 69361
URL: http://svn.reactos.org/svn/reactos?rev=69361&view=rev
Log:
[NTVDM]
- Don't hardcode magic values of characters if they have C escape codes.
- Print an extra newline on call to the Ctrl-C handler, as it is done on real DOS.
- Use a do{}while loop which loops while we don't have read a CR character.
Modified:
trunk/reactos/subsystems/mvdm/ntvdm/dos/dos32krnl/bios.c
trunk/reactos/subsystems/mvdm/ntvdm/dos/dos32krnl/dos.c
trunk/reactos/subsystems/mvdm/ntvdm/dos/dos32krnl/dosfiles.c
Modified: trunk/reactos/subsystems/mvdm/ntvdm/dos/dos32krnl/bios.c
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/mvdm/ntvdm/dos/…
==============================================================================
--- trunk/reactos/subsystems/mvdm/ntvdm/dos/dos32krnl/bios.c [iso-8859-1] (original)
+++ trunk/reactos/subsystems/mvdm/ntvdm/dos/dos32krnl/bios.c [iso-8859-1] Sat Sep 26 03:24:55 2015
@@ -68,7 +68,7 @@
* Check if this is a special character
* NOTE: \r and \n are handled by the underlying driver!
*/
- if (Character < 0x20 && Character != 0x0A && Character != 0x0D)
+ if (Character < 0x20 && Character != '\r' && Character != '\n')
{
DosPrintCharacter(DOS_OUTPUT_HANDLE, '^');
Character += 'A' - 1;
Modified: trunk/reactos/subsystems/mvdm/ntvdm/dos/dos32krnl/dos.c
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/mvdm/ntvdm/dos/…
==============================================================================
--- trunk/reactos/subsystems/mvdm/ntvdm/dos/dos32krnl/dos.c [iso-8859-1] (original)
+++ trunk/reactos/subsystems/mvdm/ntvdm/dos/dos32krnl/dos.c [iso-8859-1] Sat Sep 26 03:24:55 2015
@@ -164,6 +164,10 @@
BOOLEAN DosControlBreak(VOID)
{
setCF(0);
+
+ /* Print an extra newline */
+ DosPrintCharacter(DOS_OUTPUT_HANDLE, '\r');
+ DosPrintCharacter(DOS_OUTPUT_HANDLE, '\n');
/* Call interrupt 0x23 */
Int32Call(&DosContext, 0x23);
Modified: trunk/reactos/subsystems/mvdm/ntvdm/dos/dos32krnl/dosfiles.c
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/mvdm/ntvdm/dos/…
==============================================================================
--- trunk/reactos/subsystems/mvdm/ntvdm/dos/dos32krnl/dosfiles.c [iso-8859-1] (original)
+++ trunk/reactos/subsystems/mvdm/ntvdm/dos/dos32krnl/dosfiles.c [iso-8859-1] Sat Sep 26 03:24:55 2015
@@ -675,11 +675,11 @@
PDOS_DEVICE_NODE Node = DosGetDriverNode(Descriptor->DevicePointer);
BYTE LineSize = 0;
PCHAR Pointer = FAR_POINTER(Buffer);
-
- while (TRUE)
+ CHAR Character;
+
+ do
{
USHORT Amount = 1;
- CHAR Character;
/* Read a character from the device */
Node->ReadRoutine(Node,
@@ -757,9 +757,8 @@
}
}
- /* Stop on a carriage return */
- if (Character == '\r') break;
- }
+ /* Stop on a carriage return */
+ } while (Character != '\r');
return LineSize - 1;
}
@@ -841,11 +840,11 @@
{
/* Translated input from a character device that isn't CON */
PCHAR Pointer = FAR_POINTER(Buffer);
+ CHAR Character;
while (*BytesRead < Count)
{
USHORT Amount = 1;
- CHAR Character;
/* Read a character from the device */
Node->ReadRoutine(Node,