diff options
author | Neil Roberts <neil@linux.intel.com> | 2010-10-25 13:15:01 +0100 |
---|---|---|
committer | Neil Roberts <neil@linux.intel.com> | 2010-10-25 13:54:08 +0100 |
commit | 87d5e5ae1a5c9393103d3479d799bdf0b16bcffb (patch) | |
tree | 8c1016acb4d36d38828854ae25ddf0c23815886b | |
parent | 0e2cac09785cbeeeb38998b8301d559c794a8bc3 (diff) | |
download | clutter-87d5e5ae1a5c9393103d3479d799bdf0b16bcffb.tar.gz |
cogl-context-winsys: Avoid zero-length arrays
When compiling for non-glx platforms the winsys feature data array
ends up empty. Empty arrays cause problems for MSVC so this patch adds
a stub entry so that the array always has at least one entry.
Based on a patch by Ole André Vadla Ravnås
(cherry picked from commit cc7977988c92ad7fa96f0a1dd0a8581432f090ca)
-rw-r--r-- | clutter/cogl/cogl/winsys/cogl-context-winsys.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/clutter/cogl/cogl/winsys/cogl-context-winsys.c b/clutter/cogl/cogl/winsys/cogl-context-winsys.c index d1805416d..282df1598 100644 --- a/clutter/cogl/cogl/winsys/cogl-context-winsys.c +++ b/clutter/cogl/cogl/winsys/cogl-context-winsys.c @@ -60,8 +60,14 @@ static const CoglFeatureData cogl_winsys_feature_data[] = { #include "cogl-winsys-feature-functions.h" + + /* This stub is just here so that if the header is empty then we + won't end up declaring an empty array */ + { 0, } }; +#define COGL_WINSYS_N_FEATURES (G_N_ELEMENTS (cogl_winsys_feature_data) - 1) + static const char * _cogl_get_winsys_extensions (void) { @@ -81,7 +87,7 @@ _cogl_winsys_features_init (CoglContext *context) const char *extensions = _cogl_get_winsys_extensions (); int i; - for (i = 0; i < G_N_ELEMENTS (cogl_winsys_feature_data); i++) + for (i = 0; i < COGL_WINSYS_N_FEATURES; i++) if (_cogl_feature_check ("GLX", cogl_winsys_feature_data + i, 0, 0, extensions)) flags |= cogl_winsys_feature_data[i].feature_flags; |