advpack: Only do_ocx_reg (and thus DllRegisterServer) from RegisterOCX when 'N' is passed as a flag. Clarify documentation.

Gerald Pfeifer gerald at pfeifer.com
Sat Sep 24 16:46:49 CDT 2011


Hi James,

On Thu, 13 May 2010, Gerald Pfeifer wrote:
> Would you feel more comfortable leaving the documentation as is and
> me just suggesting the following?
> 
>     if(strchrW(str_flags,'I'))
>         hr = do_ocx_reg(hm, TRUE);
> 
> to replace
> 
>     hr = do_ocx_reg(hm, TRUE);
> 
> ?
> 
> 
> Or would you prefer to submit a patch to clarify the documentation 
> (copying me) and based on that I hack the code?  That way we'd ensure 
> that the former is sufficiently clear and I assume you'll verify
> whether the code matches that?

I just realized I did not see a response to this.  How about the
patch below that actually matches current documentation (which the
current code does not seem to)?

Gerald



ChangeLog:
Only register if I has been passed as a flag.

---
 dlls/advpack/advpack.c |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

diff --git a/dlls/advpack/advpack.c b/dlls/advpack/advpack.c
index 112d38a..c57933b 100644
--- a/dlls/advpack/advpack.c
+++ b/dlls/advpack/advpack.c
@@ -519,7 +519,8 @@ HRESULT WINAPI RegisterOCX(HWND hWnd, HINSTANCE hInst, LPCSTR cmdline, INT show)
     if (!hm)
         goto done;
 
-    hr = do_ocx_reg(hm, TRUE);
+    if(strchrW(str_flags,'I'))
+        hr = do_ocx_reg(hm, TRUE);
 
 done:
     FreeLibrary(hm);
-- 
1.7.6



More information about the wine-devel mailing list