[PATCH] shell32: Add general tab in file property dialog.
Alexandre Julliard
julliard at winehq.org
Fri May 4 04:08:40 CDT 2018
Alistair Leslie-Hughes <leslie_alistair at hotmail.com> writes:
> +static UINT CALLBACK file_properties_callback(HWND hwnd, UINT uMsg, LPPROPSHEETPAGEW ppsp)
> +{
> + struct file_properties_info *props = (struct file_properties_info *)ppsp->lParam;
> + if (uMsg == PSPCB_RELEASE)
> + {
> + if (!InterlockedDecrement(&props->refcount))
> + heap_free(props);
> + }
Why do you need refcounting?
> @@ -379,22 +694,24 @@ static void DoOpenProperties(ContextMenu *This, HWND hwnd)
> IShellFolder_Release(lpDesktopSF);
> }
>
> - if (SUCCEEDED(ret))
> - {
> - hpsxa = SHCreatePropSheetExtArrayEx(HKEY_CLASSES_ROOT, wszFiletype, MAX_PROP_PAGES - psh.nPages, lpDo);
> - if (hpsxa != NULL)
> - {
> - SHAddFromPropSheetExtArray(hpsxa, Properties_AddPropSheetCallback, (LPARAM)&psh);
> - SHDestroyPropSheetExtArray(hpsxa);
> - }
> - hpsxa = SHCreatePropSheetExtArrayEx(HKEY_CLASSES_ROOT, wszFiletypeAll, MAX_PROP_PAGES - psh.nPages, lpDo);
> - if (hpsxa != NULL)
> - {
> - SHAddFromPropSheetExtArray(hpsxa, Properties_AddPropSheetCallback, (LPARAM)&psh);
> - SHDestroyPropSheetExtArray(hpsxa);
> - }
> - IDataObject_Release(lpDo);
> - }
> + if (SUCCEEDED(ret))
> + {
> + init_file_properties_pages(lpDo, Properties_AddPropSheetCallback, (LPARAM)&psh);
> +
> + hpsxa = SHCreatePropSheetExtArrayEx(HKEY_CLASSES_ROOT, wszFiletype, MAX_PROP_PAGES - psh.nPages, lpDo);
> + if (hpsxa != NULL)
> + {
> + SHAddFromPropSheetExtArray(hpsxa, Properties_AddPropSheetCallback, (LPARAM)&psh);
> + SHDestroyPropSheetExtArray(hpsxa);
> + }
> + hpsxa = SHCreatePropSheetExtArrayEx(HKEY_CLASSES_ROOT, wszFiletypeAll, MAX_PROP_PAGES - psh.nPages, lpDo);
> + if (hpsxa != NULL)
> + {
> + SHAddFromPropSheetExtArray(hpsxa, Properties_AddPropSheetCallback, (LPARAM)&psh);
> + SHDestroyPropSheetExtArray(hpsxa);
> + }
> + IDataObject_Release(lpDo);
> + }
The indentation is wrong here.
--
Alexandre Julliard
julliard at winehq.org
More information about the wine-devel
mailing list