Closed Bug 1175217 Opened 4 years ago Closed 4 years ago

nsDisplayListInvalidation.cpp doesn't compile in non-unified mode (or if it's the first file in a unified group)

Categories

(Core :: Layout, defect)

defect
Not set

Tracking

()

RESOLVED FIXED
mozilla41
Tracking Status
firefox41 --- fixed

People

(Reporter: kats, Assigned: kats)

References

Details

Attachments

(1 file)

I added a file to layout/base and now nsDisplayListInvalidation.cpp doesn't compile. The error:


/builds/slave/try-lx-d-000000000000000000000/build/src/layout/base/nsDisplayListInvalidation.cpp:130:50: error: no matching function for call to 'nsDisplayItemGenericGeometry::nsDisplayItemGenericGeometry(nsDisplayTableItem*&, nsDisplayListBuilder*&)'
/builds/slave/try-lx-d-000000000000000000000/build/src/layout/base/nsDisplayListInvalidation.cpp:130:50: error: no matching function for call to 'nsImageGeometryMixin<nsDisplayTableItemGeometry>::nsImageGeometryMixin(nsDisplayTableItem*&, nsDisplayListBuilder*&)' 

It looks like in nsDisplayListInvalidation.cpp, the compiler doesn't know that nsDisplayTableItem is a subclass of nsDisplayItem, and so can't convert the nsDisplayTableItem* to a nsDisplayItem*.
Seems like this was added in bug 1082249 not too long ago. Even though nsTableFrame.h doesn't seem to be exported in layout/tables/moz.build including nsTableFrame.h seems to fix it locally. Doing a clean build to verify first.
Blocks: 1082249
Attachment #8623200 - Flags: review?(mstange) → review+
https://hg.mozilla.org/mozilla-central/rev/f1467e2f65c2
Status: NEW → RESOLVED
Closed: 4 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla41
You need to log in before you can comment on or make changes to this bug.