fix crash because of NULL command line pointer
Modified: trunk/reactos/subsys/system/explorer/explorer.cpp
_____
Modified: trunk/reactos/subsys/system/explorer/explorer.cpp
--- trunk/reactos/subsys/system/explorer/explorer.cpp 2005-10-09
15:12:01 UTC (rev 18377)
+++ trunk/reactos/subsys/system/explorer/explorer.cpp 2005-10-09
15:12:13 UTC (rev 18378)
@@ -561,7 +561,8 @@
cmd._cmdShow = cmdShow;
// parse command line options, which may overwrite the MDI flag
- cmd.ParseCmdLine(lpCmdLine);
+ if (lpCmdLine)
+ cmd.ParseCmdLine(lpCmdLine);
// create main window
MainFrameBase::Create(cmd);
fix crash because of NULL command line pointer
Modified:
branches/lean-explorer/reactos/subsys/system/explorer/explorer.cpp
_____
Modified:
branches/lean-explorer/reactos/subsys/system/explorer/explorer.cpp
--- branches/lean-explorer/reactos/subsys/system/explorer/explorer.cpp
2005-10-09 15:04:18 UTC (rev 18376)
+++ branches/lean-explorer/reactos/subsys/system/explorer/explorer.cpp
2005-10-09 15:12:01 UTC (rev 18377)
@@ -448,7 +448,8 @@
cmd._cmdShow = cmdShow;
// parse command line options
- cmd.ParseCmdLine(lpCmdLine);
+ if (lpCmdLine)
+ cmd.ParseCmdLine(lpCmdLine);
// Open the first child window after initializing the
application
if (cmd.IsValidPath())
replace "search computer" start menu entry by a "not yet implemented"
message to avoid the crash because of the currently missing
SHFindComputer() implementation in shell32.dll
Modified: trunk/reactos/subsys/system/explorer/taskbar/startmenu.cpp
_____
Modified: trunk/reactos/subsys/system/explorer/taskbar/startmenu.cpp
--- trunk/reactos/subsys/system/explorer/taskbar/startmenu.cpp
2005-10-09 12:41:35 UTC (rev 18374)
+++ trunk/reactos/subsys/system/explorer/taskbar/startmenu.cpp
2005-10-09 13:05:49 UTC (rev 18375)
@@ -2011,7 +2011,7 @@
// browse menu
case IDC_NETWORK:
-#ifdef _ROS_ // to be removed when network will be implemented
+#ifdef _ROS_ ///@todo to be removed when network browsing will be
implemented in shell namespace
MessageBox(0, TEXT("network not yet implemented"),
ResString(IDS_TITLE), MB_OK);
#else
CreateSubmenu(id, CSIDL_NETWORK,
ResString(IDS_NETWORK));
@@ -2062,11 +2062,13 @@
void StartMenuHandler::ShowSearchComputer()
{
+#ifndef _ROS_ ///@todo to be removed when SHFindComputer() will be
implemented in shell32.dll
static DynamicFct<SHFINDCOMPUTER>
SHFindComputer(TEXT("SHELL32"), 91);
if (SHFindComputer)
(*SHFindComputer)(NULL, NULL);
else
+#endif
MessageBox(0, TEXT("SHFindComputer() not yet implemented
in SHELL32"), ResString(IDS_TITLE), MB_OK);
}
german patch for cmd.exe from Bugzilla Entry 872
Modified: trunk/reactos/subsys/system/cmd/De.rc
_____
Modified: trunk/reactos/subsys/system/cmd/De.rc
--- trunk/reactos/subsys/system/cmd/De.rc 2005-10-09 11:57:15 UTC
(rev 18373)
+++ trunk/reactos/subsys/system/cmd/De.rc 2005-10-09 12:41:35 UTC
(rev 18374)
@@ -574,6 +574,7 @@
STRING_CHOICE_ERROR, "Ungueltige Option. Erwartetes Format:
/C[:]options"
STRING_CHOICE_ERROR_TXT, "Ungueltige Option. Erwartetes Format:
/T[:]c,nn"
STRING_CHOICE_ERROR_OPTION, "Ungueltige Option: %s"
+STRING_MD_ERROR, "A subdirectory or file already exists.\n"
STRING_CMD_ERROR1, "Die Eingaben konnten nicht umgeleitet
werden (von der Datei) %s\n"
STRING_CMD_ERROR2, "Error creating temporary file for pipe
data\n"
STRING_CMD_ERROR3, "%s kann nicht in die Datei umgeleitet
werden \n"
Add /BREAK option.
Enter KDB on bootup only if /BREAK options is given.
(You can also use KDBinit to enter KDB a little later than with /BREAK)
Modified: trunk/reactos/ntoskrnl/ex/init.c
Modified: trunk/reactos/ntoskrnl/include/internal/kd.h
Modified: trunk/reactos/ntoskrnl/kd/kdinit.c
_____
Modified: trunk/reactos/ntoskrnl/ex/init.c
--- trunk/reactos/ntoskrnl/ex/init.c 2005-10-09 00:25:19 UTC (rev
18368)
+++ trunk/reactos/ntoskrnl/ex/init.c 2005-10-09 00:45:33 UTC (rev
18369)
@@ -615,7 +615,7 @@
/* Report all resources used by hal */
HalReportResourceUsage();
-
+
/* Clear the screen to blue */
HalInitSystem(2, (PLOADER_PARAMETER_BLOCK)&KeLoaderBlock);
@@ -635,7 +635,8 @@
ExpInitTimeZoneInfo();
/* Enter the kernel debugger before starting up the boot drivers */
- if (KdDebuggerEnabled) KdbEnter();
+ if (KdDebuggerEnabled && KdpEarlyBreak)
+ DbgBreakPoint();
/* Setup Drivers and Root Device Node */
IoInit2(BootLog);
_____
Modified: trunk/reactos/ntoskrnl/include/internal/kd.h
--- trunk/reactos/ntoskrnl/include/internal/kd.h 2005-10-09
00:25:19 UTC (rev 18368)
+++ trunk/reactos/ntoskrnl/include/internal/kd.h 2005-10-09
00:45:33 UTC (rev 18369)
@@ -280,4 +280,7 @@
/* The KD Native Provider List */
extern LIST_ENTRY KdProviders;
+/* Whether to enter KDB as early as possible or not */
+extern BOOLEAN KdpEarlyBreak;
+
#endif /* __INCLUDE_INTERNAL_KERNEL_DEBUGGER_H */
_____
Modified: trunk/reactos/ntoskrnl/kd/kdinit.c
--- trunk/reactos/ntoskrnl/kd/kdinit.c 2005-10-09 00:25:19 UTC (rev
18368)
+++ trunk/reactos/ntoskrnl/kd/kdinit.c 2005-10-09 00:45:33 UTC (rev
18369)
@@ -27,6 +27,7 @@
PKDP_INIT_ROUTINE WrapperInitRoutine;
KD_DISPATCH_TABLE WrapperTable;
#endif
+BOOLEAN KdpEarlyBreak = FALSE;
LIST_ENTRY KdProviders = {&KdProviders, &KdProviders};
KD_DISPATCH_TABLE DispatchTable[KdMax];
@@ -180,6 +181,12 @@
p2 = KdpGetDebugMode(p2);
p2 = KdpGetWrapperDebugMode(p2, LoaderBlock);
}
+ /* Check for early breakpoint */
+ else if (!_strnicmp(p2, "BREAK", 5))
+ {
+ p2 += 5;
+ KdpEarlyBreak = TRUE;
+ }
/* Check for Kernel Debugging Enable */
else if (!_strnicmp(p2, "DEBUG", 5))
{