On Feb 9, 2007, at 11:48 PM, tretiakov@svn.reactos.org wrote:
Author: tretiakov Date: Fri Feb 9 23:48:37 2007 New Revision: 25758
URL: http://svn.reactos.org/svn/reactos?rev=25758&view=rev Log: Add multiple keyboard layout support. Implemented NtUserLoadKeyboardLayoutEx, NtUserActivateKeyboardLayout, NtUserGetKeyboardLayoutList, NtUserGetKeyboardLayoutName.
-NtUserLoadKeyboardLayoutEx 6 +NtUserLoadKeyboardLayoutEx 2
Magnus says that this change is incorrect (and respective change of the prototype is incorrect too, because, he says, we had a Win2003- compatible prototype). Can you comment on this please?
WBR, Aleksey Bragin.
Aleksey Bragin пишет:
Magnus says that this change is incorrect (and respective change of the prototype is incorrect too, because, he says, we had a Win2003- compatible prototype). Can you comment on this please
NtUserLoadKeybardLayoutEx is not documented and no application calls it directly, thus we have freedom to modify it. We don't need to do everything same way windows does. I was talking with James Tabor about it and we decided to do it different way.
Six params are not needed. I can restore old header back, but 4 parameters will stay unused forever and waste memory.
Something's missing into kbdlayout.c :
static PKBL UserHklToKbl(HKL hKl) { PKBL pKbl = KBLList; do { if(pKbl->hkl == hKl) return pKbl; pKbl = (PKBL) pKbl->List.Flink; } while(pKbl != KBLList); }
gcc complains finding no return statement: ./subsystems/win32/win32k/ntuser/kbdlayout.c:286: warning: control reaches end of non-void function
Kind regards, Sylvain Petreolle (aka Usurp) --- --- --- --- --- --- --- --- --- --- --- --- --- Run your favorite Windows apps with free ReactOS : http://www.reactos.org Listen to non-DRMised Music: http://www.jamendo.com
Fixed in 25762.
Sylvain Petreolle пишет:
Something's missing into kbdlayout.c :
static PKBL UserHklToKbl(HKL hKl) { PKBL pKbl = KBLList; do { if(pKbl->hkl == hKl) return pKbl; pKbl = (PKBL) pKbl->List.Flink; } while(pKbl != KBLList); }
gcc complains finding no return statement: ./subsystems/win32/win32k/ntuser/kbdlayout.c:286: warning: control reaches end of non-void function
Kind regards, Sylvain Petreolle (aka Usurp)
Run your favorite Windows apps with free ReactOS : http://www.reactos.org Listen to non-DRMised Music: http://www.jamendo.com
Ros-dev mailing list Ros-dev@reactos.org http://www.reactos.org/mailman/listinfo/ros-dev
Hi! Saveliy Tretiakov wrote:
Aleksey Bragin пишет:
Magnus says that this change is incorrect (and respective change of the prototype is incorrect too, because, he says, we had a Win2003- compatible prototype). Can you comment on this please
NtUserLoadKeybardLayoutEx is not documented and no application calls it directly, thus we have freedom to modify it. We don't need to do everything same way windows does. I was talking with James Tabor about it and we decided to do it different way.
Yes, I did tell you to optimize and make it efficient.
Remember the basic idea of the project! Equal or better than m$!
Six params are not needed. I can restore old header back, but 4 parameters will stay unused forever and waste memory.
It's okay to have the wasted space. We can use the Handle arg to let us know if it is a m$ user32.dll is calling. Handle != NULL is ROS.
Good job on the patch! Thanks, James
James Tabor пишет:
It's okay to have the wasted space. We can use the Handle arg to let us know if it is a m$ user32.dll is calling. Handle != NULL is ROS.
You meant Handle != NULL is Windows? In ROS we don't use handle.
Saveliy Tretiakov wrote:
James Tabor пишет:
It's okay to have the wasted space. We can use the Handle arg to let us know if it is a m$ user32.dll is calling. Handle != NULL is ROS.
You meant Handle != NULL is Windows? In ROS we don't use handle.
Yes, that's right. When I'm in a rush, I miss type things. Thanks, James