Diaa Sami : shell32: Fix a mem leak in SHBrowseForFolder.

Alexandre Julliard julliard at winehq.org
Fri Jan 30 07:58:27 CST 2009


Module: wine
Branch: master
Commit: 72a7aed5b685c782e57d7ccf661344f964cd6c3e
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=72a7aed5b685c782e57d7ccf661344f964cd6c3e

Author: Diaa Sami <diaasami at gmail.com>
Date:   Thu Jan 29 19:54:29 2009 +0000

shell32: Fix a mem leak in SHBrowseForFolder.

---

 dlls/shell32/brsfolder.c |   14 ++++++++++++++
 1 files changed, 14 insertions(+), 0 deletions(-)

diff --git a/dlls/shell32/brsfolder.c b/dlls/shell32/brsfolder.c
index 70dcc47..d62bd10 100644
--- a/dlls/shell32/brsfolder.c
+++ b/dlls/shell32/brsfolder.c
@@ -801,6 +801,17 @@ static BOOL BrsFolder_OnWindowPosChanging(browse_info *info, WINDOWPOS *pos)
     return 0;
 }
 
+static INT BrsFolder_OnDestroy(browse_info *info)
+{
+    if (info->layout)
+    {
+        SHFree(info->layout);
+        info->layout = NULL;
+    }
+
+    return 0;
+}
+
 /*************************************************************************
  *             BrsFolderDlgProc32  (not an exported API function)
  */
@@ -860,6 +871,9 @@ static INT_PTR CALLBACK BrsFolderDlgProc( HWND hWnd, UINT msg, WPARAM wParam,
 
     case BFFM_SETEXPANDED: /* unicode only */
         return BrsFolder_OnSetExpanded(info, (LPVOID)lParam, (BOOL)wParam, NULL);
+
+    case WM_DESTROY:
+        return BrsFolder_OnDestroy(info);
     }
     return FALSE;
 }




More information about the wine-cvs mailing list