From fa468e64d56462ab34b72e3dc52980165efdb705 Mon Sep 17 00:00:00 2001 From: Aric Stewart Date: Mon, 9 May 2005 19:33:50 +0000 Subject: [PATCH] Fix a few leaking object handles. --- dlls/msi/action.c | 3 +++ dlls/msi/dialog.c | 1 + 2 files changed, 4 insertions(+) diff --git a/dlls/msi/action.c b/dlls/msi/action.c index 5825b6ba7cb..03a811041d3 100644 --- a/dlls/msi/action.c +++ b/dlls/msi/action.c @@ -656,12 +656,14 @@ static void ui_actiondata(MSIPACKAGE *package, LPCWSTR action, MSIRECORD * recor if (rc != ERROR_SUCCESS) { MSI_ViewClose(view); + msiobj_release(&view->hdr); return; } rc = MSI_ViewFetch(view,&row); if (rc != ERROR_SUCCESS) { MSI_ViewClose(view); + msiobj_release(&view->hdr); return; } @@ -1713,6 +1715,7 @@ static void load_feature(MSIPACKAGE* package, MSIRECORD * row) c_indx); package->features[index].Components[cnt] = c_indx; package->features[index].ComponentCount ++; + msiobj_release( &row2->hdr ); continue; } diff --git a/dlls/msi/dialog.c b/dlls/msi/dialog.c index e6f146c5d1a..4977329f471 100644 --- a/dlls/msi/dialog.c +++ b/dlls/msi/dialog.c @@ -1235,6 +1235,7 @@ void msi_dialog_destroy( msi_dialog *dialog ) if( dialog->hwnd ) DestroyWindow( dialog->hwnd ); + msiobj_release( &dialog->package->hdr ); dialog->package = NULL; HeapFree( GetProcessHeap(), 0, dialog ); }