It does also not compile on gcc 7.xx

So I did change the code and it compiles

   if( rGlyphData.ExtDataRef().mpData != NULL )

But I think it has to be

   if( rGlyphData.ExtDataRef().mpData != NULL && rGlyphData.ExtDataRef().mpData != Format::NONE)

You can work around this issue in gcc by setting some flags that allows the use of Format::NONE directly. But i concider this as not so good.

All the best

On 30.01.2018 21:01, Don Lewis wrote:
When doing a build with clang 6, which defaults to c++14, I get a
compile error in SvpGlyphPeer::RemovingGlyph() in
vcl/unx/headless/svptext.cxx on this line:

     if( rGlyphData.ExtDataRef().mpData != Format::NONE )

This isn't too surprising since Format::NONE is an integer and mpData is
a pointer.

There are a couple of ways that I thought of fixing this.  One is to
change the right side of the comparision to NULL, the other is to change
the left side to use meInfo.

Then I used OpenGrok to dig through the code, and the only assignments
to meInfo that I found were in main/vcl/unx/generic/gdi/gcach_xpeer.cxx
and use the values from this enum:

This makes no sense given the other comparisions to meInfo in
svptext.cxx and the code in SvpGlyphPeer::GetGlyphBmp() starting on line
92 of that file.  There is a call to rServerFont.SetExtended() that gets
the value of nBmpFormat, but that sets private member mnExtInfo in class
ServerFont in glyphcache.hxx, whereas meInfo is a struct field where the
struct is a private member of class GlyphData.


To unsubscribe, e-mail:
For additional commands, e-mail:

To unsubscribe, e-mail:
For additional commands, e-mail:

Reply via email to