From c7d4f7d2cb61316c3f59d114c51d130beea7ee7d Mon Sep 17 00:00:00 2001 From: Robert Osfield Date: Thu, 16 Jul 2015 16:06:43 +0000 Subject: [PATCH] Updated ChangeLog and AUTHORS git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14965 16af8721-9629-0410-8352-f15c8da7e697 --- AUTHORS.txt | 3 ++- ChangeLog | 71 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 73 insertions(+), 1 deletion(-) diff --git a/AUTHORS.txt b/AUTHORS.txt index 58785217b..36a67021c 100644 --- a/AUTHORS.txt +++ b/AUTHORS.txt @@ -1,6 +1,6 @@ OpenSceneGraph Library 3.5.0 -548 Contributors: +549 Contributors: Firstname Surname ----------------- @@ -509,6 +509,7 @@ Daniel Stien Dan Minor César L. B. Silveira Cyril Brulebois +Cory Slep Clément B˝sch Clay Fowler Claus Steuer diff --git a/ChangeLog b/ChangeLog index 8f7a8b47e..dfda316cd 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,74 @@ +2015-07-16 15:49 robert + + * src/osgQt/GraphicsWindowQt.cpp: From Cory Slep and Robert + Osfield, "When using Open Scene Graph and Qt on Android, the + resulting thread that an application developer’s Q*Application is + run on is different than what Qt considers the “main” thread, + which can cause subtle problems. This is because Qt loads native + libraries in one thread, and later runs the application in a + different thread. They delay running in the second thread as long + as possible as they have a nontrivial bootstrapping process. The + motivation for Qt having this second thread is to allow them to + remain responsive to both Java and native events, and capture + events that would otherwise be “missed”. + + + + This gives arise to the requirement that a static initialization + of a QObject cannot occur for the Android platform, as Qt + incorrectly considers that first thread the “main” one before a + client application has even begun executing in its second thread. + + + + The HeartBeat in GraphicsWindowQt.cpp is a QObject static global + initialized at load time, causing the above issue. This changeset + changes it to be a singleton that is constructed upon first + access to its “instance” method. + + + + I have: + + - added the static method “instance”, + + - moved its constructor to be private, and + + - changed the one place it is accessed to access it through the + “instance” method. + + " + + Changes by Robert are to adopt QPointer rather than + use a C pointer to ensure that the HeartBeat object will be + cleaned up automatically rather than leaked. + +2015-07-16 11:01 robert + + * src/osgText/Text.cpp: Added check to catch cases where the + backdrop coordinate cache is too small for the number of contexts + being computed. + +2015-07-15 10:00 robert + + * src/osgPlugins/ive/DataInputStream.cpp: Added initializers and + reverted OSX workaround from 2013. + +2015-07-14 13:33 robert + + * CMakeLists.txt: Moved the cmake_policy(SET CMP0043 NEW) to work + for all script paths that Qt5 usage could pass through. + +2015-07-14 13:26 robert + + * CMakeLists.txt: Added cmake_policy(SET CMP0043 NEW) usage when + compiling against Qt5 as it was causing a warning we couldn't fix + on the OSG side otherwise. + +2015-07-14 08:42 robert + + * AUTHORS.txt, ChangeLog: Updated ChangeLog and AUTHORS.txt + 2015-07-14 08:25 robert * src/osg/StateSet.cpp: Added _defineList into the