diff --git a/include/osg/DisplaySettings b/include/osg/DisplaySettings index 63a418d3d..991037319 100644 --- a/include/osg/DisplaySettings +++ b/include/osg/DisplaySettings @@ -195,6 +195,9 @@ class OSG_EXPORT DisplaySettings : public osg::Referenced /** Get the hint for number of threads in the DatbasePager dedicated to reading http requests.*/ unsigned int getNumOfHttpDatabaseThreadsHint() const { return _numHttpDatabaseThreadsHint; } + + void setApplication(const std::string& application) { _application = application; } + const std::string& getApplication() { return _application; } protected: @@ -234,6 +237,8 @@ class OSG_EXPORT DisplaySettings : public osg::Referenced unsigned int _numDatabaseThreadsHint; unsigned int _numHttpDatabaseThreadsHint; + + std::string _application; }; diff --git a/src/osg/DisplaySettings.cpp b/src/osg/DisplaySettings.cpp index 93ba1d8c7..0fdffbad8 100644 --- a/src/osg/DisplaySettings.cpp +++ b/src/osg/DisplaySettings.cpp @@ -77,6 +77,8 @@ void DisplaySettings::setDisplaySettings(const DisplaySettings& vs) _numDatabaseThreadsHint = vs._numDatabaseThreadsHint; _numHttpDatabaseThreadsHint = vs._numHttpDatabaseThreadsHint; + + _application = vs._application; } void DisplaySettings::merge(const DisplaySettings& vs) @@ -98,6 +100,8 @@ void DisplaySettings::merge(const DisplaySettings& vs) if (vs._numDatabaseThreadsHint>_numDatabaseThreadsHint) _numDatabaseThreadsHint = vs._numDatabaseThreadsHint; if (vs._numHttpDatabaseThreadsHint>_numHttpDatabaseThreadsHint) _numHttpDatabaseThreadsHint = vs._numHttpDatabaseThreadsHint; + + if (_application.empty()) _application = vs._application; } void DisplaySettings::setDefaults() @@ -375,6 +379,7 @@ void DisplaySettings::readEnvironmentalVariables() void DisplaySettings::readCommandLine(ArgumentParser& arguments) { + if (_application.empty()) _application = arguments[0]; // report the usage options. if (arguments.getApplicationUsage())