Skip to content

gskngltexturelibraryprivate.h: Fix build on Visual Studio

Chun-wei Fan requested to merge fix.ngl.msvc into master

Hi,

From the commit message:

The GskNglTextureAtlasEntry structure is used as a member in two other structures in two Gsk private headers, namely GskNglGlyphValue and GskNglIconData, but the build breaks on Visual Studio since GskNglTextureAtlasEntry contains a last member that is a zero-sized array that is normally OK if it is the last member of structure -or- if the structure that contains a GskNglTextureAtlasEntry structure as its last member. Otherwise, a GCCism is involved here.

Fix the build on Visual Studio compilers by not using a zero-sized array as a last member of GskNglTextureAtlasEntry, on Visual Studio compilers.

I understand that this will mean a bit of more memory use on Visual Studio builds.

As an alternative, please let me know if it is preferable to switch the order of the members of the GskNglGlyphValue and GskNglIconData structures instead--I did not do that because I am not sure things will work as intended, especially on other platforms.

For both approaches, it seems to me the gsk/OpenGL tests ran fine on the Visual Studio 2015 x64 builds

With blessings, thank you!

Edited by Chun-wei Fan

Merge request reports