diff --git a/src/osgWrappers/serializers/osg/Camera.cpp b/src/osgWrappers/serializers/osg/Camera.cpp index a008de085..2a57b8209 100644 --- a/src/osgWrappers/serializers/osg/Camera.cpp +++ b/src/osgWrappers/serializers/osg/Camera.cpp @@ -143,10 +143,10 @@ static bool writeClearMask( osgDB::OutputStream& os, const osg::Camera& node ) else { std::string maskString; - if ( mask==GL_COLOR_BUFFER_BIT ) maskString += std::string("COLOR|"); - if ( mask==GL_DEPTH_BUFFER_BIT ) maskString += std::string("DEPTH|"); - if ( mask==GL_ACCUM_BUFFER_BIT ) maskString += std::string("ACCUM|"); - if ( mask==GL_STENCIL_BUFFER_BIT ) maskString += std::string("STENCIL|"); + if ( (mask & GL_COLOR_BUFFER_BIT)!=0 ) maskString += std::string("COLOR|"); + if ( (mask & GL_DEPTH_BUFFER_BIT)!=0 ) maskString += std::string("DEPTH|"); + if ( (mask & GL_ACCUM_BUFFER_BIT)!=0 ) maskString += std::string("ACCUM|"); + if ( (mask & GL_STENCIL_BUFFER_BIT)!=0 ) maskString += std::string("STENCIL|"); if ( !maskString.size() ) maskString = std::string("NONE|"); os << maskString.substr(0, maskString.size()-1) << std::endl; } diff --git a/src/osgWrappers/serializers/osgText/TextBase.cpp b/src/osgWrappers/serializers/osgText/TextBase.cpp index a57ef259b..3aa026977 100644 --- a/src/osgWrappers/serializers/osgText/TextBase.cpp +++ b/src/osgWrappers/serializers/osgText/TextBase.cpp @@ -159,10 +159,10 @@ static bool writeDrawMode( osgDB::OutputStream& os, const osgText::TextBase& tex else { std::string maskString; - if ( mask==osgText::TextBase::TEXT ) maskString += std::string("TEXT|"); - if ( mask==osgText::TextBase::BOUNDINGBOX ) maskString += std::string("BOUND|"); - if ( mask==osgText::TextBase::FILLEDBOUNDINGBOX ) maskString += std::string("FILLED|"); - if ( mask==osgText::TextBase::ALIGNMENT ) maskString += std::string("ALIGNMENT|"); + if ( (mask&osgText::TextBase::TEXT)!=0 ) maskString += std::string("TEXT|"); + if ( (mask&osgText::TextBase::BOUNDINGBOX)!=0 ) maskString += std::string("BOUND|"); + if ( (mask&osgText::TextBase::FILLEDBOUNDINGBOX)!=0 ) maskString += std::string("FILLED|"); + if ( (mask&osgText::TextBase::ALIGNMENT)!=0 ) maskString += std::string("ALIGNMENT|"); if ( !maskString.size() ) maskString = std::string("NONE|"); os << maskString.substr(0, maskString.size()-1) << std::endl; }