From f170f5d8d3c06974ba8ad921e31cc10f9bd90111 Mon Sep 17 00:00:00 2001 From: Rob Shearman Date: Sun, 1 Apr 2007 13:45:00 +0100 Subject: [PATCH] advpack: Stop processing if there was an error registering an OCX. --- dlls/advpack/install.c | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/dlls/advpack/install.c b/dlls/advpack/install.c index ed0660bb5c8..3f1b1dd2cf1 100644 --- a/dlls/advpack/install.c +++ b/dlls/advpack/install.c @@ -160,13 +160,21 @@ static HRESULT register_ocxs_callback(HINF hinf, PCWSTR field, void *arg) continue; hm = LoadLibraryExW(buffer, NULL, LOAD_WITH_ALTERED_SEARCH_PATH); - if (!hm) - continue; + if (hm) + { + if (do_ocx_reg(hm, TRUE)) + hr = E_FAIL; - if (do_ocx_reg(hm, TRUE)) + FreeLibrary(hm); + } + else hr = E_FAIL; - FreeLibrary(hm); + if (FAILED(hr)) + { + /* FIXME: display a message box */ + break; + } } return hr;