Dan Kegel wrote:
Dan Kegel wrote:

I tried running the demo of Picasa from
http://www.lifescapeinc.com/picasa/
under Wine-20040213 and Wine-20040505, but the installer
just put up "Out of Memory" boxes :-(


Mike H. suggested hacking in CSIDL_PROGRAMS to see if that got us further.

While looking at this, I realized there's an uninitialized variable problem (how come the compiler doesn't catch this?). This patch both fixes that and hacks in the value, I think:

--- wine-20040505.old/dlls/shell32/shellpath.c  Wed Apr  7 12:45:48 2004
+++ wine-20040505/dlls/shell32/shellpath.c      Sun May 23 22:22:16 2004
@@ -732,9 +732,9 @@
        NULL,
     },
     { /* CSIDL_PROGRAMS */
-       0, HKEY_DISALLOWED,
-       NULL,
+       0, HKEY_WINDOWSPATH,
        NULL,
+       "Start Menu\\Programs",       /* FIXME */
     },
     { /* CSIDL_CONTROLS (.CPL files) */
        10, HKLM,
@@ -1073,6 +1073,8 @@
         if (CSIDL_Data[folder].hRootKey == HKEY_NONEXISTENT)
             return S_FALSE;

+       MultiByteToWideChar(CP_ACP, 0, CSIDL_Data[folder].szDefaultPath, -1, 
szDefaultPath, MAX_PATH);
+
        /* Special case for some values that don't exist in registry */
        if (CSIDL_Data[folder].hRootKey == HKEY_WINDOWSPATH)
        {
@@ -1085,7 +1087,6 @@
        dwCsidlFlags = CSIDL_Data[folder].dwFlags;
        hRootKey = CSIDL_Data[folder].hRootKey;
        MultiByteToWideChar(CP_ACP, 0, CSIDL_Data[folder].szValueName, -1, 
szValueName, MAX_PATH);
-       MultiByteToWideChar(CP_ACP, 0, CSIDL_Data[folder].szDefaultPath, -1, 
szDefaultPath, MAX_PATH);

        if (dwCsidlFlags & CSIDL_MYFLAG_SHFOLDER)
        {

Doesn't help the picasa app noticably, though.
- Dan

--
My technical stuff: http://kegel.com
My politics: see http://www.misleader.org for examples of why I'm for regime change



Reply via email to