diff --git a/dlls/shell32/dragdrophelper.c b/dlls/shell32/dragdrophelper.c index d85619f51b7..829b0eefb63 100644 --- a/dlls/shell32/dragdrophelper.c +++ b/dlls/shell32/dragdrophelper.c @@ -122,8 +122,9 @@ static ULONG WINAPI IDropTargetHelper_fnRelease (IDropTargetHelper * iface) TRACE ("(%p)->(count=%lu)\n", This, This->ref); if (!--(This->ref)) { - TRACE ("-- destroying (%p)\n", This); - LocalFree ((HLOCAL) This); + TRACE("-- destroying (%p)\n", This); + LocalFree ((HLOCAL) This); + return 0; } return This->ref; } diff --git a/dlls/shell32/shfldr_desktop.c b/dlls/shell32/shfldr_desktop.c index 22564d918db..117dfa77bb5 100644 --- a/dlls/shell32/shfldr_desktop.c +++ b/dlls/shell32/shfldr_desktop.c @@ -172,6 +172,7 @@ static ULONG WINAPI ISF_Desktop_fnRelease (IShellFolder2 * iface) if (This->sPathTarget) SHFree (This->sPathTarget); LocalFree ((HLOCAL) This); + return 0; } return This->ref; } diff --git a/dlls/shell32/shfldr_mycomp.c b/dlls/shell32/shfldr_mycomp.c index a71a716912d..a88c1d2e790 100644 --- a/dlls/shell32/shfldr_mycomp.c +++ b/dlls/shell32/shfldr_mycomp.c @@ -173,10 +173,11 @@ static ULONG WINAPI ISF_MyComputer_fnRelease (IShellFolder2 * iface) TRACE ("(%p)->(count=%lu)\n", This, This->ref); if (!--(This->ref)) { - TRACE ("-- destroying IShellFolder(%p)\n", This); - if (This->pidlRoot) - SHFree (This->pidlRoot); - LocalFree ((HLOCAL) This); + TRACE ("-- destroying IShellFolder(%p)\n", This); + if (This->pidlRoot) + SHFree (This->pidlRoot); + LocalFree ((HLOCAL) This); + return 0; } return This->ref; }