Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package SimGear for openSUSE:Factory checked 
in at 2021-03-02 12:29:50
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/SimGear (Old)
 and      /work/SRC/openSUSE:Factory/.SimGear.new.2378 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "SimGear"

Tue Mar  2 12:29:50 2021 rev:21 rq:867732 version:2020.3.6

Changes:
--------
--- /work/SRC/openSUSE:Factory/SimGear/SimGear.changes  2021-01-13 
18:31:32.238075611 +0100
+++ /work/SRC/openSUSE:Factory/.SimGear.new.2378/SimGear.changes        
2021-03-02 12:32:43.271676405 +0100
@@ -1,0 +2,7 @@
+Thu Jan 28 18:59:04 UTC 2021 - Stefan Br??ns <[email protected]>
+
+- Update to 2020.3.6
+  * http://wiki.flightgear.org/Changelog_2020.3#2020.3.6
+- Drop upstream boost-1.75-fix.patch
+
+-------------------------------------------------------------------

Old:
----
  boost-1.75-fix.patch
  simgear-2020.3.5.tar.bz2

New:
----
  simgear-2020.3.6.tar.bz2

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ SimGear.spec ++++++
--- /var/tmp/diff_new_pack.XQVwm2/_old  2021-03-02 12:32:44.455677226 +0100
+++ /var/tmp/diff_new_pack.XQVwm2/_new  2021-03-02 12:32:44.455677226 +0100
@@ -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_5
+%define libname libSimGearCore-2020_3_6
 %define main_version 2020.3
 Name:           SimGear
-Version:        %{main_version}.5
+Version:        %{main_version}.6
 Release:        0
 Summary:        Simulator Construction Gear
 # https://sourceforge.net/p/flightgear/codetickets/1940/
@@ -32,8 +32,6 @@
 URL:            https://www.flightgear.org/
 Source0:        
https://sourceforge.net/projects/flightgear/files/release-%{main_version}/simgear-%{version}.tar.bz2
 Source99:       SimGear-rpmlintrc
-# PATCH-FIX-UPSTREAM -- 
https://github.com/FlightGear/simgear/commit/39d616a0d591d9df.patch
-Patch0:         boost-1.75-fix.patch
 BuildRequires:  cmake
 BuildRequires:  gcc-c++
 BuildRequires:  libOpenSceneGraph-devel

++++++ simgear-2020.3.5.tar.bz2 -> simgear-2020.3.6.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/simgear-2020.3.5/simgear/environment/metar.cxx 
new/simgear-2020.3.6/simgear/environment/metar.cxx
--- old/simgear-2020.3.5/simgear/environment/metar.cxx  2020-12-18 
12:42:37.000000000 +0100
+++ new/simgear-2020.3.6/simgear/environment/metar.cxx  2021-01-23 
19:01:02.000000000 +0100
@@ -46,6 +46,7 @@
 #include <sstream>
 
 #include <simgear/debug/logstream.hxx>
+#include <simgear/math/sg_random.h>
 #include <simgear/structure/exception.hxx>
 
 #include "metar.hxx"
@@ -1068,9 +1069,12 @@
                return false;
        m += i;
 
-       if (!strncmp(m, "///", 3))      // vis not measurable (e.g. because of 
heavy snowing)
+       if (!strncmp(m, "///", 3))      { // vis not measurable (e.g. because 
of heavy snowing)
                m += 3, i = -1;
-       else if (scanBoundary(&m)) {
+               sg_srandom_time();
+               // randomize the base height to avoid the black sky issue
+               i = 50 + static_cast<int>(sg_random() * 250.0);         // 
range [5,000, 30,000]
+       } else if (scanBoundary(&m)) {
                _m = m;
                return true;                            // ignore single 
OVC/BKN/...
        } else if (!scanNumber(&m, &i, 3))
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/simgear-2020.3.5/simgear/io/sg_binobj.cxx 
new/simgear-2020.3.6/simgear/io/sg_binobj.cxx
--- old/simgear-2020.3.5/simgear/io/sg_binobj.cxx       2020-12-18 
12:42:37.000000000 +0100
+++ new/simgear-2020.3.6/simgear/io/sg_binobj.cxx       2021-01-23 
19:01:02.000000000 +0100
@@ -566,8 +566,10 @@
     sgReadUInt( fp, &header );
 
     if (sgReadError()) {
+        int code = 0;
+        const char* gzErrorString = gzerror(fp, &code);
         gzclose(fp);
-        throw sg_io_exception("Unable to read BTG header: " + 
simgear::strutils::error_string(errno), sg_location(file));
+        throw sg_io_exception("Unable to read BTG header: " + 
string{gzErrorString} + ", code =" + std::to_string(code), sg_location(file));
     }
 
     if ( ((header & 0xFF000000) >> 24) == 'S' &&
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/simgear-2020.3.5/simgear/package/Root.cxx 
new/simgear-2020.3.6/simgear/package/Root.cxx
--- old/simgear-2020.3.5/simgear/package/Root.cxx       2020-12-18 
12:42:37.000000000 +0100
+++ new/simgear-2020.3.6/simgear/package/Root.cxx       2021-01-23 
19:01:02.000000000 +0100
@@ -133,7 +133,9 @@
 
     void fireRefreshStatus(CatalogRef catalog, Delegate::StatusCode status)
     {
-        for (auto d : delegates) {
+        // take a copy of delegates since firing this can modify the data
+        const auto currentDelegates = delegates;
+        for (auto d : currentDelegates) {
             d->catalogRefreshed(catalog, status);
         }
     }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/simgear-2020.3.5/simgear/props/props.cxx 
new/simgear-2020.3.6/simgear/props/props.cxx
--- old/simgear-2020.3.5/simgear/props/props.cxx        2020-12-18 
12:42:37.000000000 +0100
+++ new/simgear-2020.3.6/simgear/props/props.cxx        2021-01-23 
19:01:02.000000000 +0100
@@ -566,23 +566,15 @@
   }
 }
 #else
-template<typename Range>
-SGPropertyNode*
-find_node (SGPropertyNode * current,
-           const Range& path,
-           bool create,
-           int last_index = -1)
-{
+template <typename Range>
+SGPropertyNode *find_node(SGPropertyNode *current, const Range &path,
+                          bool create, int last_index = -1) {
   using namespace boost;
-  typedef split_iterator<typename range_result_iterator<Range>::type>
-    PathSplitIterator;
-
-  PathSplitIterator itr
-    = make_split_iterator(path, first_finder("/", is_equal()));
+  auto itr = make_split_iterator(path, first_finder("/", is_equal()));
   if (*path.begin() == '/')
     return find_node_aux(current->getRootNode(), itr, create, last_index);
-   else
-     return find_node_aux(current, itr, create, last_index);
+  else
+    return find_node_aux(current, itr, create, last_index);
 }
 #endif
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/simgear-2020.3.5/simgear/scene/material/Effect.cxx 
new/simgear-2020.3.6/simgear/scene/material/Effect.cxx
--- old/simgear-2020.3.5/simgear/scene/material/Effect.cxx      2020-12-18 
12:42:37.000000000 +0100
+++ new/simgear-2020.3.6/simgear/scene/material/Effect.cxx      2021-01-23 
19:01:03.000000000 +0100
@@ -76,7 +76,7 @@
 #include <simgear/structure/SGExpression.hxx>
 #include <simgear/props/props_io.hxx>
 #include <simgear/props/vectorPropTemplates.hxx>
-
+#include <simgear/debug/ErrorReportingCallback.hxx>
 #include <simgear/io/iostreams/sgstream.hxx>
 
 namespace simgear
@@ -928,7 +928,8 @@
         // FIXME orig: const string& shaderName = shaderKey.first;
         string shaderName = shaderKey.first;
         Shader::Type stype = (Shader::Type)shaderKey.second;
-        if (getPropertyRoot()->getBoolValue("/sim/version/compositor-support", 
false) &&
+        const bool compositorEnabled = 
getPropertyRoot()->getBoolValue("/sim/version/compositor-support", false);
+        if (compositorEnabled &&
             shaderName.substr(0, shaderName.find("/")) == "Shaders") {
             shaderName = "Compositor/" + shaderName;
         }
@@ -936,7 +937,9 @@
         if (fileName.empty())
         {
             SG_LOG(SG_INPUT, SG_ALERT, "Could not locate shader" << 
shaderName);
-
+            if (!compositorEnabled) {
+                reportError("Missing shader", shaderName);
+            }
 
             throw BuilderException(string("couldn't find shader ") +
                 shaderName);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/simgear-2020.3.5/simgear/scene/material/TextureBuilder.cxx 
new/simgear-2020.3.6/simgear/scene/material/TextureBuilder.cxx
--- old/simgear-2020.3.5/simgear/scene/material/TextureBuilder.cxx      
2020-12-18 12:42:37.000000000 +0100
+++ new/simgear-2020.3.6/simgear/scene/material/TextureBuilder.cxx      
2021-01-23 19:01:03.000000000 +0100
@@ -273,11 +273,19 @@
         
options->setLoadOriginHint(SGReaderWriterOptions::LoadOriginHint::ORIGIN_EFFECTS_NORMALIZED);
     else
         
options->setLoadOriginHint(SGReaderWriterOptions::LoadOriginHint::ORIGIN_EFFECTS);
-#if OSG_VERSION_LESS_THAN(3,4,2)
-    result = osgDB::readImageFile(imageName, options);
-#else
-    result = osgDB::readRefImageFile(imageName, options);
-#endif
+
+    try {
+    #if OSG_VERSION_LESS_THAN(3,4,2)
+        result = osgDB::readImageFile(imageName, options);
+    #else
+        result = osgDB::readRefImageFile(imageName, options);
+    #endif
+    } catch (std::bad_alloc& ba) {
+        SG_LOG(SG_GL, SG_ALERT, "Bad allocation loading:" << imageName);
+        // todo: report low memory warning
+        return false;
+    }
+
     options->setLoadOriginHint(origLOH);
     osg::ref_ptr<osg::Image> image;
     if (result.success())
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/simgear-2020.3.5/simgear/scene/model/animation.cxx 
new/simgear-2020.3.6/simgear/scene/model/animation.cxx
--- old/simgear-2020.3.5/simgear/scene/model/animation.cxx      2020-12-18 
12:42:37.000000000 +0100
+++ new/simgear-2020.3.6/simgear/scene/model/animation.cxx      2021-01-23 
19:01:03.000000000 +0100
@@ -1135,16 +1135,8 @@
         double intPart;
         double rot = modf(rotation, &intPart);
         double angle = rot * 2.0 * osg::PI;
-        const SGVec3d& sgcenter = transform->getCenter();
-        const SGVec3d& sgaxis = transform->getAxis();
-        Matrixd mat = Matrixd::translate(-sgcenter[0], -sgcenter[1], 
-sgcenter[2])
-            * Matrixd::rotate(angle, sgaxis[0], sgaxis[1], sgaxis[2])
-            * Matrixd::translate(sgcenter[0], sgcenter[1], sgcenter[2])
-            * *cv->getModelViewMatrix();
-        ref_ptr<RefMatrix> refmat = new RefMatrix(mat);
-        cv->pushModelViewMatrix(refmat.get(), transform->getReferenceFrame());
+        transform->setAngleRad(angle);
         traverse(transform, nv);
-        cv->popModelViewMatrix();
     } else {
         traverse(transform, nv);
     }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/simgear-2020.3.5/simgear/scene/tgdb/SGBuildingBin.cxx 
new/simgear-2020.3.6/simgear/scene/tgdb/SGBuildingBin.cxx
--- old/simgear-2020.3.5/simgear/scene/tgdb/SGBuildingBin.cxx   2020-12-18 
12:42:37.000000000 +0100
+++ new/simgear-2020.3.6/simgear/scene/tgdb/SGBuildingBin.cxx   2021-01-23 
19:01:03.000000000 +0100
@@ -441,6 +441,10 @@
       if (hash_pos != std::string::npos)
           line.resize(hash_pos);
 
+      if (line.empty()) {
+          continue; // skip blank lines
+      }
+
       // and process further
       std::stringstream in(line);
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/simgear-2020.3.5/simgear/scene/tgdb/SGOceanTile.cxx 
new/simgear-2020.3.6/simgear/scene/tgdb/SGOceanTile.cxx
--- old/simgear-2020.3.5/simgear/scene/tgdb/SGOceanTile.cxx     2020-12-18 
12:42:37.000000000 +0100
+++ new/simgear-2020.3.6/simgear/scene/tgdb/SGOceanTile.cxx     2021-01-23 
19:01:03.000000000 +0100
@@ -41,6 +41,7 @@
 #include <simgear/scene/material/EffectGeode.hxx>
 #include <simgear/scene/material/mat.hxx>
 #include <simgear/scene/material/matlib.hxx>
+#include <simgear/scene/model/BoundingVolumeBuildVisitor.hxx>
 #include <simgear/scene/util/OsgMath.hxx>
 #include <simgear/scene/util/VectorArrayAdapter.hxx>
 #include <simgear/scene/util/SGNodeMasks.hxx>
@@ -340,5 +341,10 @@
     transform->addChild(geode);
     transform->setNodeMask( ~(simgear::CASTSHADOW_BIT | 
simgear::MODELLIGHT_BIT) );
 
+    // Create a BVH at this point.  This is normally provided by the file 
loader, but as we create the 
+    // geometry programmatically, no file loader is involved.
+    BoundingVolumeBuildVisitor bvhBuilder(false);
+    transform->accept(bvhBuilder);
+    
     return transform;
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/simgear-2020.3.5/simgear-version 
new/simgear-2020.3.6/simgear-version
--- old/simgear-2020.3.5/simgear-version        2020-12-18 12:42:37.000000000 
+0100
+++ new/simgear-2020.3.6/simgear-version        2021-01-23 19:01:02.000000000 
+0100
@@ -1 +1 @@
-2020.3.5
+2020.3.6

Reply via email to