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