Alexander Dorofeyev : quartz: Improve removal of registry data in Filtermapper unregister methods.
Module: wine Branch: master Commit: cd5fa7dedb5ccd05bca19e87ea574e2053e33c0a URL: http://source.winehq.org/git/wine.git/?a=commit;h=cd5fa7dedb5ccd05bca19e87ea... Author: Alexander Dorofeyev <alexd4(a)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); }
participants (1)
-
Alexandre Julliard