Closed Bug 1263342 Opened 4 years ago Closed 4 years ago

MFBT FunctionImplBase vtable can differ depending on which files it is compiled in

Categories

(Core :: MFBT, defect)

defect
Not set

Tracking

()

RESOLVED FIXED
mozilla48
Tracking Status
firefox48 --- fixed

People

(Reporter: lsalzman, Assigned: lsalzman)

References

Details

Attachments

(1 file)

MFBT's FunctionImplBase uses MOZ_DECLARE_REFCOUNTED_VIRTUAL_TYPENAME. This makes typeName/typeSize optionally virtual based on whether MOZILLA_INTERNAL_API is defined. This is not defined when we compile Skia, so it can cause problems when we pass functions created in a file compiled with MOZILLA_INTERNAL_API to one that is not, or vice versa, since the vtable pointers won't match up.
Comment on attachment 8739627 [details] [diff] [review]
don't use REFCOUNTED_VIRTUAL_TYPENAME for mfbt FunctionImplBase

Review of attachment 8739627 [details] [diff] [review]:
-----------------------------------------------------------------

Doh!
Attachment #8739627 - Flags: review?(nfroyd) → review+
https://hg.mozilla.org/mozilla-central/rev/a10bbaedd405
Status: ASSIGNED → RESOLVED
Closed: 4 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla48
You need to log in before you can comment on or make changes to this bug.