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