[ros-diffs] [tretiakov] 25834: Patch from Preston: fix bug 1918 "Keyboard config unavailable".
tretiakov at svn.reactos.org
tretiakov at svn.reactos.org
Sun Feb 18 17:35:10 CET 2007
- Previous message: [ros-diffs] [ion] 25833: - Add EXCEPTION_RECORD64 and LIST_ENTRY64, KeTryToAcquireSpinLockAtDpcLevel, BREAKPOINT_COMMAND_STRING, Ke386SetCr2, Ke386SetDr3, Ke386SetDr6. - Remove non-kernel routines from kdfuncs.h and remove deprecated routines from ke.h. - Implement KiRestoreProcessorControlState, KeFreezeExecution, KeThawExecution, ExAcquireTimeRefreshLock, ExReleaseTimeRefreshLock. - Rename ModuleLoadList to PsLoadedModuleList. Add PsNtosImageBase and set value in it. - Add skeleton wdbgexts.h with what's needed until now, this is a PSDK header. - Add kddll.h for KDCOM/1394/USB2.DLL prototypes. - Add windbgkd.h with KD protocol definitions. Used to be an NT5 DDK header, but was removed, so this goes into include\reactos.
- Next message: [ros-diffs] [ion] 25835: - Add stubs for KdSave, KdRestore, KdDebuggerInitialize0, KdSendPacket, KdReceivePacket to kdcom.dll - Implement and export KeTryToAcquireSpinLockAtDpcLevel.
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
Author: tretiakov
Date: Sun Feb 18 19:35:09 2007
New Revision: 25834
URL: http://svn.reactos.org/svn/reactos?rev=25834&view=rev
Log:
Patch from Preston:
fix bug 1918 "Keyboard config unavailable".
Modified:
trunk/reactos/dll/win32/shell32/control.c
Modified: trunk/reactos/dll/win32/shell32/control.c
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/shell32/control.c?rev=25834&r1=25833&r2=25834&view=diff
==============================================================================
--- trunk/reactos/dll/win32/shell32/control.c (original)
+++ trunk/reactos/dll/win32/shell32/control.c Sun Feb 18 19:35:09 2007
@@ -352,6 +352,7 @@
unsigned sp = 0;
LPWSTR extraPmts = NULL;
int quoted = 0;
+ BOOL spSet = FALSE;
buffer = HeapAlloc(GetProcessHeap(), 0, (lstrlenW(wszCmd) + 1) * sizeof(*wszCmd));
if (!buffer) return;
@@ -366,8 +367,10 @@
if (beg) {
if (*beg == '@') {
sp = atoiW(beg + 1);
+ spSet = TRUE;
} else if (*beg == '\0') {
sp = 0;
+ spSet = TRUE;
} else {
extraPmts = beg;
}
@@ -381,6 +384,9 @@
while ((ptr = StrChrW(buffer, '"')))
memmove(ptr, ptr+1, lstrlenW(ptr)*sizeof(WCHAR));
+ while ((ptr = StrChrW(extraPmts, '"')))
+ memmove(ptr, ptr+1, lstrlenW(ptr)*sizeof(WCHAR));
+
TRACE("cmd %s, extra %s, sp %d\n", debugstr_w(buffer), debugstr_w(extraPmts), sp);
Control_LoadApplet(hWnd, buffer, panel);
@@ -393,6 +399,13 @@
WARN("Out of bounds (%u >= %u), setting to 0\n", sp, applet->count);
sp = 0;
}
+
+ if ((extraPmts)&&(!spSet))
+ {
+ while ((lstrcmpiW(extraPmts, applet->info[sp].szName)) && (sp < applet->count))
+ sp++;
+ }
+
if (applet->info[sp].dwSize) {
if (!applet->proc(applet->hWnd, CPL_STARTWPARMSA, sp, (LPARAM)extraPmts))
applet->proc(applet->hWnd, CPL_DBLCLK, sp, applet->info[sp].lData);
- Previous message: [ros-diffs] [ion] 25833: - Add EXCEPTION_RECORD64 and LIST_ENTRY64, KeTryToAcquireSpinLockAtDpcLevel, BREAKPOINT_COMMAND_STRING, Ke386SetCr2, Ke386SetDr3, Ke386SetDr6. - Remove non-kernel routines from kdfuncs.h and remove deprecated routines from ke.h. - Implement KiRestoreProcessorControlState, KeFreezeExecution, KeThawExecution, ExAcquireTimeRefreshLock, ExReleaseTimeRefreshLock. - Rename ModuleLoadList to PsLoadedModuleList. Add PsNtosImageBase and set value in it. - Add skeleton wdbgexts.h with what's needed until now, this is a PSDK header. - Add kddll.h for KDCOM/1394/USB2.DLL prototypes. - Add windbgkd.h with KD protocol definitions. Used to be an NT5 DDK header, but was removed, so this goes into include\reactos.
- Next message: [ros-diffs] [ion] 25835: - Add stubs for KdSave, KdRestore, KdDebuggerInitialize0, KdSendPacket, KdReceivePacket to kdcom.dll - Implement and export KeTryToAcquireSpinLockAtDpcLevel.
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
More information about the Ros-diffs
mailing list