Author: janderwald
Date: Thu May 7 22:21:53 2009
New Revision: 40829
URL:
http://svn.reactos.org/svn/reactos?rev=40829&view=rev
Log:
- Load property sheet handlers also from * key
- Fixes displaying custom file property handlers like for TortoiseSVN
Modified:
trunk/reactos/dll/win32/shell32/fprop.c
Modified: trunk/reactos/dll/win32/shell32/fprop.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/shell32/fprop.c?…
==============================================================================
--- trunk/reactos/dll/win32/shell32/fprop.c [iso-8859-1] (original)
+++ trunk/reactos/dll/win32/shell32/fprop.c [iso-8859-1] Thu May 7 22:21:53 2009
@@ -733,9 +733,12 @@
TRACE("EnumPropSheetExt szName %s\n", debugstr_w(szName));
hpsxa[0] = SHCreatePropSheetExtArrayEx(HKEY_CLASSES_ROOT, szName, NumPages,
pDataObj);
- hpsxa[1] = NULL;
-
Pages = SHAddFromPropSheetExtArray(hpsxa[0], AddShellPropSheetExCallback,
(LPARAM)pinfo);
+
+ hpsxa[1] = SHCreatePropSheetExtArrayEx(HKEY_CLASSES_ROOT, L"*",
NumPages-Pages, pDataObj);
+ Pages += SHAddFromPropSheetExtArray(hpsxa[1], AddShellPropSheetExCallback,
(LPARAM)pinfo);
+
+ hpsxa[2] = NULL;
if (pOffset)
{
@@ -746,8 +749,8 @@
{
TRACE("EnumPropSheetExt szName %s, pOffset %s\n",
debugstr_w(szName), debugstr_w(pOffset));
szName[(sizeof(szName) / sizeof(WCHAR)) - 1] = L'\0';
- hpsxa[1] = SHCreatePropSheetExtArrayEx(HKEY_CLASSES_ROOT, szName, NumPages -
Pages, pDataObj);
- Pages += SHAddFromPropSheetExtArray(hpsxa[1], AddShellPropSheetExCallback,
(LPARAM)pinfo);
+ hpsxa[2] = SHCreatePropSheetExtArrayEx(HKEY_CLASSES_ROOT, szName, NumPages -
Pages, pDataObj);
+ Pages += SHAddFromPropSheetExtArray(hpsxa[2], AddShellPropSheetExCallback,
(LPARAM)pinfo);
}
}
@@ -774,7 +777,7 @@
WCHAR wFileName[MAX_PATH];
DWORD dwHandle = 0;
WCHAR *pFileName;
- HPSXA hpsxa[2];
+ HPSXA hpsxa[3];
INT_PTR res;
IDataObject *pDataObj = NULL;
HRESULT hResult;
@@ -845,6 +848,7 @@
{
hpsxa[0] = NULL;
hpsxa[1] = NULL;
+ hpsxa[2] = NULL;
}
}
@@ -865,6 +869,7 @@
{
SHDestroyPropSheetExtArray(hpsxa[0]);
SHDestroyPropSheetExtArray(hpsxa[1]);
+ SHDestroyPropSheetExtArray(hpsxa[2]);
IDataObject_Release(pDataObj);
}