Author: tkreuzer
Date: Tue Mar 30 06:59:56 2010
New Revision: 46579
URL: http://svn.reactos.org/svn/reactos?rev=46579&view=rev
Log:
Add a todo list for win32k. Enjoy the current size as long as it's that small.
Added:
branches/reactos-yarotows/subsystems/win32/win32k/TODO.txt (with props)
Added: branches/reactos-yarotows/subsystems/win32/win32k/TODO.txt
URL: http://svn.reactos.org/svn/reactos/branches/reactos-yarotows/subsystems/win…
==============================================================================
--- branches/reactos-yarotows/subsystems/win32/win32k/TODO.txt (added)
+++ branches/reactos-yarotows/subsystems/win32/win32k/TODO.txt [iso-8859-1] Tue Mar 30 06:59:56 2010
@@ -1,0 +1,27 @@
+
+
+This is a list of todos for win32k. If you found something that needs to be
+done, but you can't or don't want to handle it right now, you can add an entry
+here, so it won't get forgotton.
+
+Please also note, where to find the problem (file / function), and possible
+requirements before it can be handled.
+
+
+# Lock the PDEV lock only when we are going to touch the PDEV or the Surface
+ Currently the PDEV is locked (shared HSEM == ERESOURCE) when we lock the DC,
+ this is only a minimal implementation, as we don't need to do that, when we
+ don't even touch anything from the PDEV or the surface. This should be
+ optimized. (see dc.h, DC_LockDc)
+
+# Get rid of all float and double in win32k.
+ We can't use the fpu on x86 in the kernel, as fpu state is not saved in
+ user/kernel transitions. There are 3 possible solutions:
+ 1.) Rewrite the function to use integer (preferred)
+ 2.) Use FLOATOBJ
+ 3.) Use KeSaveFloatingPointState (slow, avoid!)
+
+# Rewrite the handle manager! Once and for all!
+
+
+
Propchange: branches/reactos-yarotows/subsystems/win32/win32k/TODO.txt
------------------------------------------------------------------------------
svn:eol-style = native
Author: cgutman
Date: Tue Mar 30 05:26:35 2010
New Revision: 46578
URL: http://svn.reactos.org/svn/reactos?rev=46578&view=rev
Log:
[RTL]
- Fall back to the default user key if RtlFormatCurrentUserKeyPath fails (perhaps we are in a system process)
Modified:
trunk/reactos/lib/rtl/registry.c
Modified: trunk/reactos/lib/rtl/registry.c
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/lib/rtl/registry.c?rev=465…
==============================================================================
--- trunk/reactos/lib/rtl/registry.c [iso-8859-1] (original)
+++ trunk/reactos/lib/rtl/registry.c [iso-8859-1] Tue Mar 30 05:26:35 2010
@@ -474,13 +474,23 @@
/* Check if we need the current user key */
if (RelativeTo == RTL_REGISTRY_USER)
{
- /* Get the path */
+ /* Get the user key path */
Status = RtlFormatCurrentUserKeyPath(&KeyPath);
- if (!NT_SUCCESS(Status)) return(Status);
-
- /* Append it */
- Status = RtlAppendUnicodeStringToString(&KeyName, &KeyPath);
- RtlFreeUnicodeString (&KeyPath);
+
+ /* Check if it worked */
+ if (NT_SUCCESS(Status))
+ {
+ /* Append the user key path */
+ Status = RtlAppendUnicodeStringToString(&KeyName, &KeyPath);
+
+ /* Free the user key path */
+ RtlFreeUnicodeString (&KeyPath);
+ }
+ else
+ {
+ /* It didn't work so fall back to the default user key */
+ Status = RtlAppendUnicodeToString(&KeyName, RtlpRegPaths[RTL_REGISTRY_USER]);
+ }
}
else
{