Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package SimGear for openSUSE:Factory checked in at 2022-02-05 23:23:15 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/SimGear (Old) and /work/SRC/openSUSE:Factory/.SimGear.new.1898 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "SimGear" Sat Feb 5 23:23:15 2022 rev:25 rq:951745 version:2020.3.12 Changes: -------- --- /work/SRC/openSUSE:Factory/SimGear/SimGear.changes 2021-08-27 21:43:51.077966821 +0200 +++ /work/SRC/openSUSE:Factory/.SimGear.new.1898/SimGear.changes 2022-02-05 23:23:51.055650670 +0100 @@ -1,0 +2,6 @@ +Fri Feb 4 20:05:17 UTC 2022 - Stefan Br??ns <[email protected]> + +- Update to 2020.3.12 + * https://wiki.flightgear.org/Changelog_2020.3#2020.3.12 + +------------------------------------------------------------------- Old: ---- simgear-2020.3.11.tar.bz2 New: ---- simgear-2020.3.12.tar.bz2 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ SimGear.spec ++++++ --- /var/tmp/diff_new_pack.s58yzJ/_old 2022-02-05 23:23:51.635646704 +0100 +++ /var/tmp/diff_new_pack.s58yzJ/_new 2022-02-05 23:23:51.639646676 +0100 @@ -1,7 +1,7 @@ # # spec file for package SimGear # -# Copyright (c) 2021 SUSE LLC +# Copyright (c) 2022 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -20,10 +20,10 @@ # in our requirements, i.e. the same version we have built against %define openscenegraph_version %(rpm -qa --nosignature --nodigest libOpenSceneGraph\*-devel | sed 's/.*-devel-\\(.*\\)-.*/\\1/') -%define libname libSimGearCore-2020_3_11 +%define libname libSimGearCore-2020_3_12 %define main_version 2020.3 Name: SimGear -Version: %{main_version}.11 +Version: %{main_version}.12 Release: 0 Summary: Simulator Construction Gear # https://sourceforge.net/p/flightgear/codetickets/1940/ ++++++ simgear-2020.3.11.tar.bz2 -> simgear-2020.3.12.tar.bz2 ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/simgear-2020.3.11/simgear/canvas/ODGauge.cxx new/simgear-2020.3.12/simgear/canvas/ODGauge.cxx --- old/simgear-2020.3.11/simgear/canvas/ODGauge.cxx 2021-07-29 11:34:34.000000000 +0200 +++ new/simgear-2020.3.12/simgear/canvas/ODGauge.cxx 2022-01-31 16:31:54.000000000 +0100 @@ -298,8 +298,8 @@ { if( camera.valid() && Canvas::getSystemAdapter() ) Canvas::getSystemAdapter()->removeCamera(camera.get()); - camera.release(); - texture.release(); + camera = nullptr; + texture = nullptr; _flags &= ~AVAILABLE; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/simgear-2020.3.11/simgear/scene/material/matlib.cxx new/simgear-2020.3.12/simgear/scene/material/matlib.cxx --- old/simgear-2020.3.11/simgear/scene/material/matlib.cxx 2021-07-29 11:34:34.000000000 +0200 +++ new/simgear-2020.3.12/simgear/scene/material/matlib.cxx 2022-01-31 16:31:55.000000000 +0100 @@ -83,6 +83,8 @@ options->setObjectCacheHint(osgDB::Options::CACHE_ALL); options->setDatabasePath(fg_root.utf8Str()); + std::lock_guard<std::mutex> g(d->mutex); + simgear::PropertyList blocks = materialblocks.getChildren("region"); simgear::PropertyList::const_iterator block_iter = blocks.begin(); @@ -154,13 +156,19 @@ // find a material record by material name and tile center SGMaterial *SGMaterialLib::find( const string& material, const SGVec2f center ) const { + std::lock_guard<std::mutex> g(d->mutex); + return internalFind(material, center); +} + +SGMaterial* SGMaterialLib::internalFind(const string& material, const SGVec2f center) const +{ SGMaterial *result = NULL; const_material_map_iterator it = matlib.find( material ); - if ( it != end() ) { + if (it != end()) { // We now have a list of materials that match this // name. Find the first one that matches. - // We start at the end of the list, as the materials - // list is ordered with the smallest regions at the end. + // We start at the end of the list, as the materials + // list is ordered with the smallest regions at the end. material_list::const_reverse_iterator iter = it->second.rbegin(); while (iter != it->second.rend()) { result = *iter; @@ -184,11 +192,12 @@ SGMaterialCache *SGMaterialLib::generateMatCache(SGVec2f center) { SGMaterialCache* newCache = new SGMaterialCache(); + std::lock_guard<std::mutex> g(d->mutex); + material_map::const_reverse_iterator it = matlib.rbegin(); for (; it != matlib.rend(); ++it) { - newCache->insert(it->first, find(it->first, center)); + newCache->insert(it->first, internalFind(it->first, center)); } - return newCache; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/simgear-2020.3.11/simgear/scene/material/matlib.hxx new/simgear-2020.3.12/simgear/scene/material/matlib.hxx --- old/simgear-2020.3.11/simgear/scene/material/matlib.hxx 2021-07-29 11:34:34.000000000 +0200 +++ new/simgear-2020.3.12/simgear/scene/material/matlib.hxx 2022-01-31 16:31:55.000000000 +0100 @@ -81,7 +81,10 @@ typedef material_map::const_iterator const_material_map_iterator; material_map matlib; - + + + SGMaterial* internalFind(const std::string& material, const SGVec2f center) const; + public: // Constructor diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/simgear-2020.3.11/simgear/scene/model/SGText.cxx new/simgear-2020.3.12/simgear/scene/model/SGText.cxx --- old/simgear-2020.3.11/simgear/scene/model/SGText.cxx 2021-07-29 11:34:34.000000000 +0200 +++ new/simgear-2020.3.12/simgear/scene/model/SGText.cxx 2022-01-31 16:31:55.000000000 +0100 @@ -16,23 +16,27 @@ // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. // -#ifdef HAVE_CONFIG_H -# include <simgear_config.h> -#endif +#include <simgear_config.h> #include <cstdio> #include "SGText.hxx" -#include <simgear/math/SGMath.hxx> -#include <simgear/misc/sg_path.hxx> -#include <simgear/misc/strutils.hxx> #include <osg/Geode> #include <osg/MatrixTransform> #include <osgText/Text> #include <osgText/Font> +#include <simgear/misc/ResourceManager.hxx> +#include <simgear/math/SGMath.hxx> +#include <simgear/misc/sg_path.hxx> +#include <simgear/misc/strutils.hxx> +#include <simgear/scene/material/Effect.hxx> +#include <simgear/scene/material/EffectGeode.hxx> +#include <simgear/scene/util/SGReaderWriterOptions.hxx> +#include <simgear/debug/ErrorReportingCallback.hxx> + using std::string; class SGText::UpdateCallback : public osg::NodeCallback { @@ -95,9 +99,15 @@ osg::Geode * g = new osg::Geode; g->addDrawable( text ); - SGPath path("Fonts" ); - path.append( configNode->getStringValue( "font", "Helvetica" )); - text->setFont( path.utf8Str() ); + const std::string requestedFont = configNode->getStringValue("font","Helvetica"); + const SGPath fontPath = simgear::ResourceManager::instance()->findPath("Fonts/" + requestedFont); + if ( !fontPath.isNull() ) { + text->setFont( fontPath.utf8Str() ); + } else { + simgear::reportFailure(simgear::LoadFailure::NotFound, + simgear::ErrorCode::LoadingTexture, + "SGText: couldn;t find font:" + requestedFont); + } text->setCharacterSize(configNode->getDoubleValue("character-size", 1.0 ), configNode->getDoubleValue("character-aspect-ratio", 1.0 )); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/simgear-2020.3.11/simgear/scene/model/particles.cxx new/simgear-2020.3.12/simgear/scene/model/particles.cxx --- old/simgear-2020.3.11/simgear/scene/model/particles.cxx 2021-07-29 11:34:34.000000000 +0200 +++ new/simgear-2020.3.12/simgear/scene/model/particles.cxx 2022-01-31 16:31:55.000000000 +0100 @@ -512,6 +512,14 @@ staticColorComponents[7] = a2; } +ParticlesGlobalManager::~ParticlesGlobalManager() +{ + // break a ref-counting cycle + if (d->_commonRoot) { + d->_commonRoot->removeUpdateCallback(d.get()); + } +} + void ParticlesGlobalManager::setWindVector(const osg::Vec3& wind) { std::lock_guard<std::mutex> g(d->_lock); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/simgear-2020.3.11/simgear/scene/model/particles.hxx new/simgear-2020.3.12/simgear/scene/model/particles.hxx --- old/simgear-2020.3.11/simgear/scene/model/particles.hxx 2021-07-29 11:34:34.000000000 +0200 +++ new/simgear-2020.3.12/simgear/scene/model/particles.hxx 2022-01-31 16:31:55.000000000 +0100 @@ -150,7 +150,7 @@ class ParticlesGlobalManager { public: - ~ParticlesGlobalManager() = default; + ~ParticlesGlobalManager(); static ParticlesGlobalManager* instance(); static void clear(); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/simgear-2020.3.11/simgear/sound/sample.hxx new/simgear-2020.3.12/simgear/sound/sample.hxx --- old/simgear-2020.3.11/simgear/sound/sample.hxx 2021-07-29 11:34:34.000000000 +0200 +++ new/simgear-2020.3.12/simgear/sound/sample.hxx 2022-01-31 16:31:55.000000000 +0100 @@ -343,7 +343,7 @@ * Schedule this audio sample to stop (or start) playing. */ inline void set_out_of_range(bool oor = true) { - _out_of_range = oor; _playing = (!oor && _loop); _changed = true; + _out_of_range = oor; _changed = true; } /** diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/simgear-2020.3.11/simgear/sound/xmlsound.cxx new/simgear-2020.3.12/simgear/sound/xmlsound.cxx --- old/simgear-2020.3.11/simgear/sound/xmlsound.cxx 2021-07-29 11:34:34.000000000 +0200 +++ new/simgear-2020.3.12/simgear/sound/xmlsound.cxx 2022-01-31 16:31:55.000000000 +0100 @@ -347,7 +347,9 @@ // else // if a property is defined then test if it's value is FALSE // or if the mode is IN_TRANSIT then - // test whether the current value matches the previous value. + // test whether the current value matches the previous value, + // else + // check if out of range. if ( // Lisp, anyone? (_condition && !_condition->test()) || (!_condition && _property && @@ -355,7 +357,8 @@ !curr_value || ( (_mode == SGXmlSound::IN_TRANSIT) && (curr_value == _prev_value) ) ) - ) + ) || + _sample->test_out_of_range() ) { if ((_mode != SGXmlSound::IN_TRANSIT) || (_stopping > MAX_TRANSIT_TIME)) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/simgear-2020.3.11/simgear-version new/simgear-2020.3.12/simgear-version --- old/simgear-2020.3.11/simgear-version 2021-07-29 11:34:34.000000000 +0200 +++ new/simgear-2020.3.12/simgear-version 2022-01-31 16:31:54.000000000 +0100 @@ -1 +1 @@ -2020.3.11 +2020.3.12
