Closed Bug 605569 Opened 9 years ago Closed 9 years ago

"nsXMLContentSerializer.cpp(650) : error C2248: 'nsAString_internal::nsAString_internal' : cannot access protected member declared in class 'nsAString_internal'"

Categories

(Core :: DOM: Core & HTML, defect, blocker)

x86
Windows 2000
defect
Not set
blocker

Tracking

()

RESOLVED FIXED
mozilla2.0b8

People

(Reporter: sgautherie, Assigned: sgautherie)

References

()

Details

(Whiteboard: [fixed by bug 610936])

{
nsXMLContentSerializer.cpp
.../content/base/src/nsXMLContentSerializer.cpp(650) : error C2248: 'nsAString_internal::nsAString_internal' : cannot access protected member declared in class 'nsAString_internal'
        ...\dist\include\nsTSubstring.h(612) : see declaration of 'nsAString_internal::nsAString_internal'
        ...\dist\include\nsTSubstring.h(86) : see declaration of 'nsAString_internal'
.../content/base/src/nsXMLContentSerializer.cpp(650) : error C2248: 'nsAString_internal::nsAString_internal' : cannot access protected member declared in class 'nsAString_internal'
        ...\dist\include\nsTSubstring.h(612) : see declaration of 'nsAString_internal::nsAString_internal'
        ...\dist\include\nsTSubstring.h(86) : see declaration of 'nsAString_internal'
make[1]: *** [nsXMLContentSerializer.obj] Error 2
make[1]: Leaving directory `.../content/base/src'
}
This looks similar to bug 595708.
See discussion in bug 595756.

Code is
{
639 void
640 nsXMLContentSerializer::SerializeAttr(const nsAString& aPrefix,
641                                       const nsAString& aName,
642                                       const nsAString& aValue,
643                                       nsAString& aStr,
644                                       PRBool aDoEscapeEntities)
645 {
646   nsAutoString attrString_;
647   // For innerHTML we can do faster appending without
648   // temporary strings.
649   PRBool rawAppend = mDoRaw && aDoEscapeEntities;
650   nsAString& attrString = (rawAppend) ? aStr : attrString_;
}
This is new code from bug 601130.
Depends on: 610936
This is how I fixed it locally:
-  nsAString& attrString = (rawAppend) ? aStr : attrString_;
+  nsAString& attrString = (rawAppend) ? aStr : (nsAString&)attrString_;
Neil, thanks for looking into this one.

Yet, this is now fixed by bug 610936.
(Sorry I didn't took time to update these bugs before.)
Assignee: nobody → sgautherie.bz
No longer blocks: 595756
Status: NEW → RESOLVED
Closed: 9 years ago
No longer depends on: 595708
Flags: in-testsuite-
Resolution: --- → FIXED
Whiteboard: [See ongoing discussion in bug 595756] → [fixed by bug 610936]
Target Milestone: --- → mozilla2.0b8
PS:
To make the story short, requiring SP1 of VC8 for Gecko 2 might not have been 100% needed yet, but it felt like a good time to do it ... and it was trivially accepted.
At the very least, it will stop the need for more of such workarounds.
Component: DOM → DOM: Core & HTML
You need to log in before you can comment on or make changes to this bug.