mozilla 1.9 build

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

mozilla 1.9 build

ramsrule
Hi,

I modified mfcemebd with version mozilla1.7.5 for my needs. I have been
using some of the non public interfaces like IFrame and IContent. I tried
updating to the latest CVS version of mozilla and my code doesnt compile
anymore. I get the following error.

P:\PROJECTS\MOZILLA\RELSHARED\DIST\INCLUDE\STRING\nsStringFwd.h(60) : error
C2371: 'nsAutoString' : redefinition; different basic types
        P:\PROJECTS\MOZILLA\RELSHARED\DIST\SDK\INCLUDE\nsStringAPI.h(1780) :
see declaration of 'nsAutoString'
P:\PROJECTS\MOZILLA\RELSHARED\DIST\INCLUDE\STRING\nsStringFwd.h(80) : error
C2371: 'nsCAutoString' : redefinition; different basic types
        P:\PROJECTS\MOZILLA\RELSHARED\DIST\SDK\INCLUDE\nsStringAPI.h(1779) :
see declaration of 'nsCAutoString'
P:\PROJECTS\MOZILLA\RELSHARED\DIST\INCLUDE\STRING\nsTAString.h(41) : fatal
error C1189: #error :  Cannot use internal string classes without
MOZILLA_INTERNAL_API defined. Use the frozen header nsStringAPI.h instead.

Is this change intentional? Will I be able to use these interfaces? I
removed all the includes pertaining to Strings from my code and I still get
this error. It looks like some of non public files I am including are in
turn including these string files and causing it to break.

Any help in this regard is greatly appreciated.

thanks
Kantha Kanchiraju


_______________________________________________
mozilla-builds mailing list
[hidden email]
http://mail.mozilla.org/listinfo/mozilla-builds
Reply | Threaded
Open this post in threaded view
|

Re: mozilla 1.9 build

Benjamin Smedberg
kantha Kanchiraju wrote:

> Hi,
>
> I modified mfcemebd with version mozilla1.7.5 for my needs. I have been
> using some of the non public interfaces like IFrame and IContent. I tried
> updating to the latest CVS version of mozilla and my code doesnt compile
> anymore. I get the following error.
>
> P:\PROJECTS\MOZILLA\RELSHARED\DIST\INCLUDE\STRING\nsStringFwd.h(60) : error
> C2371: 'nsAutoString' : redefinition; different basic types
>         P:\PROJECTS\MOZILLA\RELSHARED\DIST\SDK\INCLUDE\nsStringAPI.h(1780) :
> see declaration of 'nsAutoString'
> P:\PROJECTS\MOZILLA\RELSHARED\DIST\INCLUDE\STRING\nsStringFwd.h(80) : error
> C2371: 'nsCAutoString' : redefinition; different basic types
>         P:\PROJECTS\MOZILLA\RELSHARED\DIST\SDK\INCLUDE\nsStringAPI.h(1779) :
> see declaration of 'nsCAutoString'
> P:\PROJECTS\MOZILLA\RELSHARED\DIST\INCLUDE\STRING\nsTAString.h(41) : fatal
> error C1189: #error :  Cannot use internal string classes without
> MOZILLA_INTERNAL_API defined. Use the frozen header nsStringAPI.h instead.
>
> Is this change intentional? Will I be able to use these interfaces? I
> removed all the includes pertaining to Strings from my code and I still get
> this error. It looks like some of non public files I am including are in
> turn including these string files and causing it to break.

Yes, this change is basically intentional. If you are using the
frozen-linkage API (i.e. you don't have MOZILLA_INTERNAL_API defined), you
can't use the internal string classes declared in nsStringFwd.h etc.

This means that a certain class of deCOMtaminated internal interfaces such
as nsIContent and nsIFrame will not be available. In general using these
interfaces outside of gecko is frought with peril and highly discouraged. If
there is something that you can only accomplish using the internal
pseudo-interfaces, please bring it up and let's see if we can provide the
same functionality in a real interface that could even become frozen at some
point.

--BDS
_______________________________________________
mozilla-builds mailing list
[hidden email]
http://mail.mozilla.org/listinfo/mozilla-builds