Name problems with HTMLDocument, InternetExplorer and WebBrowser

Robert Shearman rob at codeweavers.com
Wed Aug 2 14:16:50 CDT 2006


Dan Hipschman wrote:

>Hi all,
>
>I'd like to submit a patch which makes widl output forward declarations
>to the header file for coclass definitions.  Currently this is done only
>if the coclass has its own forward declaration.  For example,
>
>[ uuid(...) ] coclass Foo; 
>[ uuid(...) ] coclass Bar { ... }; 
>
>Foo will get declared (via typedef) in the header but Bar will not.  The
>only problem is that when I fix widl it breaks the build in three places:
>
>make[2]: Entering directory `/var/build/wine/dlls/mshtml'
>In file included from conpoint.c:33:
>mshtml_private.h:99: error: conflicting types for `HTMLDocument'
>../../include/mshtml.h:26023: error: previous declaration of `HTMLDocument' was here
>
>There's actually an easy fix if we just change the latter declaration to
>
>struct Foo { ... };
>
>but I'm not sure this is not a kludge.  Do the names really represent the same
>types, or is a namespace collision?
>

This is just a namespace collision. A safer option might be to rename 
use FooImpl instead of Foo in the typedefs in mshtml_private.h and 
shdocvw.h, but your solution looks fine.

-- 
Rob Shearman




More information about the wine-devel mailing list