Alexander Dorofeyev : quartz: Improve removal of registry data in Filtermapper unregister methods.

Alexandre Julliard julliard at winehq.org
Tue Jul 1 08:27:46 CDT 2008


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

Author: Alexander Dorofeyev <alexd4 at inbox.lv>
Date:   Sun Jun 29 15:07:53 2008 +0300

quartz: Improve removal of registry data in Filtermapper unregister methods.

---

 dlls/quartz/filtermapper.c |   12 +++++++++---
 1 files changed, 9 insertions(+), 3 deletions(-)

diff --git a/dlls/quartz/filtermapper.c b/dlls/quartz/filtermapper.c
index bc8d4c8..06ec334 100644
--- a/dlls/quartz/filtermapper.c
+++ b/dlls/quartz/filtermapper.c
@@ -1571,8 +1571,14 @@ static HRESULT WINAPI FilterMapper_UnregisterFilter(IFilterMapper * iface, CLSID
 
     if (SUCCEEDED(hr))
     {
-        lRet = RegDeleteKeyW(hKey, wszMeritName);
-        hr = HRESULT_FROM_WIN32(lRet);
+        lRet = RegDeleteValueW(hKey, wszMeritName);
+        if (lRet != ERROR_SUCCESS)
+            hr = HRESULT_FROM_WIN32(lRet);
+
+        lRet = RegDeleteTreeW(hKey, wszPins);
+        if (lRet != ERROR_SUCCESS)
+            hr = HRESULT_FROM_WIN32(lRet);
+
         CloseHandle(hKey);
     }
 
@@ -1628,7 +1634,7 @@ static HRESULT WINAPI FilterMapper_UnregisterPin(IFilterMapper * iface, CLSID Fi
         strcatW(wszPinNameKey, wszSlash);
         strcatW(wszPinNameKey, Name);
 
-        lRet = RegDeleteKeyW(hKey, wszPinNameKey);
+        lRet = RegDeleteTreeW(hKey, wszPinNameKey);
         hr = HRESULT_FROM_WIN32(lRet);
         CoTaskMemFree(wszPinNameKey);
     }




More information about the wine-cvs mailing list