Closed Bug 1190590 Opened 4 years ago Closed 4 years ago

MinGW build fails with --enable-bundled-fonts

Categories

(Core :: Graphics: Text, defect)

defect
Not set

Tracking

()

RESOLVED FIXED
mozilla42
Tracking Status
firefox42 --- fixed

People

(Reporter: arthur, Assigned: arthur)

References

(Blocks 1 open bug)

Details

(Whiteboard: [gfx-noted][tor])

Attachments

(1 file)

When the --enable-bundled-fonts flag (introduced in Bug 998844) is enabled, it causes the following errors in a MinGW build:

> In file included from ../../dist/include/mozilla/BlockingResourceBase.h:16:0,
>                  from ../../dist/include/mozilla/CondVar.h:12,
>                  from ../../dist/include/mozilla/Monitor.h:10,
>                  from /home/ubuntu/build/tor-browser/gfx/thebes/SoftwareVsyncSource.h:10,
>                  from /home/ubuntu/build/tor-browser/gfx/thebes/SoftwareVsyncSource.cpp:7,
>                  from /home/ubuntu/build/tor-browser/obj-mingw/gfx/thebes/Unified_cpp_gfx_thebes0.cpp:11:
> /home/ubuntu/build/tor-browser/gfx/thebes/gfxDWriteFontList.cpp: In member function 'virtual MozExternalRefCountType BundledFontFileEnumerator::AddRef()':
> ../../dist/include/nsISupportsImpl.h:91:3: error: static assertion failed: Reference-counted class BundledFontFileEnumerator should not have a public destructor. Try to make this class's destructor non-public. If that is really not possible, you can whitelist this class by providing a HasDangerousPublicDestructor specialization for it.
>    static_assert(!MOZ_IS_DESTRUCTIBLE(X) || \
>    ^
> ../../dist/include/nsISupportsImpl.h:509:5: note: in expansion of macro 'MOZ_ASSERT_TYPE_OK_FOR_REFCOUNTING'
>      MOZ_ASSERT_TYPE_OK_FOR_REFCOUNTING(_class)                                \
>      ^
> /home/ubuntu/build/tor-browser/gfx/thebes/gfxDWriteFontList.cpp:1792:5: note: in expansion of macro 'NS_INLINE_DECL_REFCOUNTING'
>      NS_INLINE_DECL_REFCOUNTING(BundledFontFileEnumerator)
>      ^
> /home/ubuntu/build/tor-browser/gfx/thebes/gfxDWriteFontList.cpp: In member function 'virtual MozExternalRefCountType BundledFontFileEnumerator::Release()':
> ../../dist/include/nsISupportsImpl.h:524:14: warning: deleting object of polymorphic class type 'BundledFontFileEnumerator' which has non-virtual destructor might cause undefined behaviour [-Wdelete-non-virtual-dtor]
>        delete this;                                                            \
>               ^
> /home/ubuntu/build/tor-browser/gfx/thebes/gfxDWriteFontList.cpp:1792:5: note: in expansion of macro 'NS_INLINE_DECL_REFCOUNTING'
>      NS_INLINE_DECL_REFCOUNTING(BundledFontFileEnumerator)
>      ^
> /home/ubuntu/build/tor-browser/gfx/thebes/gfxDWriteFontList.cpp: In member function 'virtual MozExternalRefCountType BundledFontLoader::AddRef()':
> ../../dist/include/nsISupportsImpl.h:91:3: error: static assertion failed: Reference-counted class BundledFontLoader should not have a public destructor. Try to make this class's destructor non-public. If that is really not possible, you can whitelist this class by providing a HasDangerousPublicDestructor specialization for it.
>    static_assert(!MOZ_IS_DESTRUCTIBLE(X) || \
>    ^
> ../../dist/include/nsISupportsImpl.h:509:5: note: in expansion of macro 'MOZ_ASSERT_TYPE_OK_FOR_REFCOUNTING'
>      MOZ_ASSERT_TYPE_OK_FOR_REFCOUNTING(_class)                                \
>      ^
> /home/ubuntu/build/tor-browser/gfx/thebes/gfxDWriteFontList.cpp:1857:5: note: in expansion of macro 'NS_INLINE_DECL_REFCOUNTING'
>      NS_INLINE_DECL_REFCOUNTING(BundledFontLoader)
>      ^
> /home/ubuntu/build/tor-browser/gfx/thebes/gfxDWriteFontList.cpp: In member function 'virtual MozExternalRefCountType BundledFontLoader::Release()':
> ../../dist/include/nsISupportsImpl.h:524:14: warning: deleting object of polymorphic class type 'BundledFontLoader' which has non-virtual destructor might cause undefined behaviour [-Wdelete-non-virtual-dtor]
>        delete this;                                                            \
>               ^
> /home/ubuntu/build/tor-browser/gfx/thebes/gfxDWriteFontList.cpp:1857:5: note: in expansion of macro 'NS_INLINE_DECL_REFCOUNTING'
>      NS_INLINE_DECL_REFCOUNTING(BundledFontLoader)
>      ^
Comment on attachment 8642659 [details] [diff] [review]
0001-Bug-1190590-Fix-MinGW-cross-compile-for-enable-bundl.patch

I'll defer to Jonathan on this one.
Attachment #8642659 - Flags: review?(jdaggett) → review?(jfkthame)
Whiteboard: [gfx-noted]
Comment on attachment 8642659 [details] [diff] [review]
0001-Bug-1190590-Fix-MinGW-cross-compile-for-enable-bundl.patch

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

LGTM
Attachment #8642659 - Flags: review?(jfkthame) → review+
Keywords: checkin-needed
https://hg.mozilla.org/mozilla-central/rev/6a9178395997
Assignee: nobody → arthuredelstein
Status: NEW → RESOLVED
Closed: 4 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla42
Whiteboard: [gfx-noted] → [gfx-noted][tor]
Blocks: meta_tor
You need to log in before you can comment on or make changes to this bug.