]> git.mxchange.org Git - flightgear.git/commitdiff
Add HAVE_CULLSETTINGS_CLEAR_MASK to configure.ac and check it in camera code
authorTim Moore <timoore@redhat.com>
Mon, 30 Nov 2009 08:29:07 +0000 (09:29 +0100)
committerTim Moore <timoore@redhat.com>
Mon, 30 Nov 2009 08:29:07 +0000 (09:29 +0100)
This works around a behavior / interface change in OSG post 2.9.6.

configure.ac
src/Main/CameraGroup.cxx

index 40106421306ef14640602f3b97c9c55aa8f93a0b..ea29630255b5fe1b695105279d81f529f17f0340 100644 (file)
@@ -686,6 +686,14 @@ case "${host}" in
 esac
 AM_CONDITIONAL(HAVE_FRAMEWORK_OSG, test "x$ac_cv_framework_osg" != "x")
 
+AC_MSG_CHECKING([checking for osg::CullSettings::CLEAR_MASK])
+AC_COMPILE_IFELSE(
+  [AC_LANG_PROGRAM([[#include <osg/CullSettings>]],
+    [[osg::CullSettings::VariablesMask mask = osg::CullSettings::CLEAR_MASK;]])],
+  [AC_DEFINE([HAVE_CULLSETTINGS_CLEAR_MASK],1,[define if OSG has CullSettings::CLEAR_MASK])
+   AC_MSG_RESULT([yes])],
+  [AC_DEFINE([HAVE_CULLSETTINGS_CLEAR_MASK],0,[define if OSG has CullSettings::CLEAR_MASK])
+   AC_MSG_RESULT([no])])
 AC_LANG_POP
 
 dnl Check for system installed zlib
index 78f83fde7f88ba9d9cccffe1d9e4527069d4931e..57371b1d87bb4feb49fa2eb5457643282409fa9f 100644 (file)
 // along with this program; if not, write to the Free Software
 // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
 
+#ifdef HAVE_CONFIG_H
+#  include <config.h>
+#endif
+
 #include "CameraGroup.hxx"
 
 #include "globals.hxx"
@@ -318,7 +322,10 @@ CameraInfo* CameraGroup::buildCamera(SGPropertyNode* cameraNode)
     camera->setInheritanceMask(CullSettings::ALL_VARIABLES
                                & ~(CullSettings::CULL_MASK
                                    | CullSettings::CULLING_MODE
-                                   | CullSettings::CLEAR_MASK));
+#if defined(HAVE_CULLSETTINGS_CLEAR_MASK)
+                                   | CullSettings::CLEAR_MASK
+#endif
+                                   ));
 
     osg::Matrix pOff;
     osg::Matrix vOff;
@@ -420,7 +427,10 @@ CameraInfo* CameraGroup::buildGUICamera(SGPropertyNode* cameraNode,
     camera->setInheritanceMask(CullSettings::ALL_VARIABLES
                                & ~(CullSettings::COMPUTE_NEAR_FAR_MODE
                                    | CullSettings::CULLING_MODE
-                                   | CullSettings::CLEAR_MASK));
+#if defined(HAVE_CULLSETTINGS_CLEAR_MASK)
+                                   | CullSettings::CLEAR_MASK
+#endif
+                                   ));
     camera->setComputeNearFarMode(osg::CullSettings::DO_NOT_COMPUTE_NEAR_FAR);
     camera->setCullingMode(osg::CullSettings::NO_CULLING);
     camera->setProjectionResizePolicy(Camera::FIXED);