[PATCH 1/3] oleaut32: Don't reset property page site to NULL
Signed-off-by: Nikolay Sivov <nsivov(a)codeweavers.com> --- Fixes the crash reported as https://bugs.winehq.org/show_bug.cgi?id=44265. There is another patch attached to this bug that allows to manually test creation/destruction sequence. dlls/oleaut32/olepropframe.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/dlls/oleaut32/olepropframe.c b/dlls/oleaut32/olepropframe.c index 73af7451f1..1a89024885 100644 --- a/dlls/oleaut32/olepropframe.c +++ b/dlls/oleaut32/olepropframe.c @@ -308,10 +308,8 @@ HRESULT WINAPI OleCreatePropertyFrameIndirect(LPOCPFIPARAMS lpParams) PropertySheetW(&property_sheet); for(i=0; i<lpParams->cPages; i++) { - if(property_page[i]) { - IPropertyPage_SetPageSite(property_page[i], NULL); + if(property_page[i]) IPropertyPage_Release(property_page[i]); - } } HeapFree(GetProcessHeap(), 0, dialogs); -- 2.16.1
Signed-off-by: Nikolay Sivov <nsivov(a)codeweavers.com> --- dlls/oleaut32/olepropframe.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dlls/oleaut32/olepropframe.c b/dlls/oleaut32/olepropframe.c index 1a89024885..98d2e8fffc 100644 --- a/dlls/oleaut32/olepropframe.c +++ b/dlls/oleaut32/olepropframe.c @@ -186,7 +186,7 @@ HRESULT WINAPI OleCreatePropertyFrameIndirect(LPOCPFIPARAMS lpParams) lpParams->lplpUnk, lpParams->cPages, lpParams->lpPages, lpParams->lcid, lpParams->dispidInitialProperty); - if(!lpParams->lplpUnk || !lpParams->lpPages) + if(!lpParams->lpPages) return E_POINTER; if(lpParams->cbStructSize != sizeof(OCPFIPARAMS)) { -- 2.16.1
Signed-off-by: Nikolay Sivov <nsivov(a)codeweavers.com> --- dlls/oleaut32/olepropframe.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dlls/oleaut32/olepropframe.c b/dlls/oleaut32/olepropframe.c index 98d2e8fffc..ecffdc9218 100644 --- a/dlls/oleaut32/olepropframe.c +++ b/dlls/oleaut32/olepropframe.c @@ -288,7 +288,7 @@ HRESULT WINAPI OleCreatePropertyFrameIndirect(LPOCPFIPARAMS lpParams) res = IPropertyPage_SetObjects(property_page[i], lpParams->cObjects, lpParams->lplpUnk); if(FAILED(res)) - continue; + WARN("SetObjects() failed, hr %#x.\n", res); res = IPropertyPage_GetPageInfo(property_page[i], &page_info); if(FAILED(res)) -- 2.16.1
participants (1)
-
Nikolay Sivov