overte/interface/src
Anthony Thibault 6c66f5a37b Fix for DependencyManager crash on shutdown on Mac
On Mac, it is possible to crash when shutting down, it is not clear if this is due to
shutting down the app on another thread during logout or something that can happen
during normal shutdown, because it is so difficult to reproduce.

However, from looking at the stack traces it is possible for a [NSApplication terminate:]
event to get processed while Appliction::aboutToQuit() is calling ScriptEngine::waitTillDoneRunning()
This causes AppKit to invoke the static destructors too early.  Which in turn, causes the
DependencyManager destructor to fire while there are still many dependencies running.
Unfortunatly, the order of destruction is not determinstic, causing them to get shutdown
in an incorrect order.

To workaround this, we delay the call to QCoreApplication::processEvents() as late as possible,
in the Application destructor. Theoretically, this will be a safe time for the static destructors
to be invoked, because it is after all of the DependencyManager's dependencies have been
manually destroyed.

However, this is only a speculative fix, because this is so difficult to reproduce.
2019-07-01 17:37:57 -07:00
..
assets
audio Add "Avatar Script" JSDoc API classification 2019-02-12 11:49:49 +13:00
avatar Doc review 2019-06-28 17:05:36 +12:00
commerce Use unique_ptr for temp signature array 2019-05-29 12:17:07 -07:00
devices disabling dde initialization due to random crashes while closing down the socket connection on mac 2019-06-07 10:16:36 -07:00
graphics Fix crash when using null DisplayPlugin in GraphicsEngine during shutdown 2019-06-10 14:00:05 -07:00
java/io/highfidelity/interface Consolidating differences from master 2019-02-15 14:12:37 -08:00
networking
octree fix safe landing to load proper set of objects 2019-07-01 14:18:19 -07:00
raypick Merge pull request #15454 from ctrlaltdavid/M22246 2019-05-13 16:16:17 -07:00
scripting DEV-194: Iterate on PTT Ducking Slider design 2019-07-01 11:28:48 -07:00
ui Doc review 2019-06-28 17:05:36 +12:00
webbrowser
workload fix runtime switch 2019-05-13 09:58:55 -07:00
AboutUtil.cpp
AboutUtil.h AccountServices, HifiAbout, and WalletScriptingInterface JSDoc review 2019-02-24 13:23:20 +13:00
AndroidHelper.cpp working on pause -> away mode. Even doesn't seem to be firing. Also found a spot where I left commented out code from lifecycle testing. 2019-02-21 16:33:25 -08:00
AndroidHelper.h working on pause -> away mode. Even doesn't seem to be firing. Also found a spot where I left commented out code from lifecycle testing. 2019-02-21 16:33:25 -08:00
Application.cpp Fix for DependencyManager crash on shutdown on Mac 2019-07-01 17:37:57 -07:00
Application.h fix SafeLanding start/stop on entity-server connection flow 2019-06-27 11:33:51 -07:00
AvatarBookmarks.cpp remove AvatarBookmarks.deleteBookmark function 2019-03-21 11:12:30 -07:00
AvatarBookmarks.h remove AvatarBookmarks.deleteBookmark function 2019-03-21 11:12:30 -07:00
Bookmarks.cpp
Bookmarks.h Add --setBookmark and getAddress API 2019-06-11 14:10:09 -07:00
ConnectionMonitor.cpp
ConnectionMonitor.h
Constants.h
CrashHandler.h
CrashHandler_Breakpad.cpp
CrashHandler_Crashpad.cpp
CrashHandler_None.cpp
CrashRecoveryHandler.cpp
CrashRecoveryHandler.h
DiscoverabilityManager.cpp
DiscoverabilityManager.h
FancyCamera.cpp
FancyCamera.h Note camera axes in Camera JSDoc 2019-04-30 12:13:43 +12:00
FrameTimingsScriptingInterface.cpp
FrameTimingsScriptingInterface.h
GLCanvas.cpp
GLCanvas.h
InterfaceDynamicFactory.cpp
InterfaceDynamicFactory.h
InterfaceLogging.cpp
InterfaceLogging.h
InterfaceParentFinder.cpp more overlay wip 2019-01-25 11:10:11 -08:00
InterfaceParentFinder.h
LocationBookmarks.cpp Add --setBookmark and getAddress API 2019-06-11 14:10:09 -07:00
LocationBookmarks.h Add --setBookmark and getAddress API 2019-06-11 14:10:09 -07:00
LODManager.cpp Refined the capping of the LOD Target Rate to be the lower REfreshrate when FOcus-inactive, this prevent the panic attacks of the LOD system on low end hardware 2019-06-07 17:00:37 -07:00
LODManager.h Cleanup syntax 2019-02-21 16:41:50 -08:00
LoginStateManager.cpp more overlay wip 2019-01-25 11:10:11 -08:00
LoginStateManager.h more overlay wip 2019-01-25 11:10:11 -08:00
main.cpp Add --setBookmark and getAddress API 2019-06-11 14:10:09 -07:00
Menu.cpp Merge And Modifying the Graphics settings and the dev menu 2019-06-20 17:48:36 -07:00
Menu.h Merge And Modifying the Graphics settings and the dev menu 2019-06-20 17:48:36 -07:00
ModelPackager.cpp Realize joint properties isFree and freeLineage are unused, so tear them out 2019-01-29 11:55:35 -08:00
ModelPackager.h
ModelPropertiesDialog.cpp Realize joint properties isFree and freeLineage are unused, so tear them out 2019-01-29 11:55:35 -08:00
ModelPropertiesDialog.h Realize joint properties isFree and freeLineage are unused, so tear them out 2019-01-29 11:55:35 -08:00
ModelSelector.cpp remove view/Independent-Mode and view/Entity-Mode menu items and related code. Leave the modes available for scripts. 2019-04-12 09:21:48 -07:00
ModelSelector.h
PerformanceManager.cpp Add specific caps for the render method deferred from the platform profiler, to prevent bad choice on mac book air 2019-06-12 16:48:36 -07:00
PerformanceManager.h INtroduce range check for int value against the several enums we exposed through the js api for REnder and PErformance settings 2019-06-05 17:56:14 -07:00
RefreshRateManager.cpp Addressing the review comment about an if else statement syntax 2019-06-10 11:59:09 -07:00
RefreshRateManager.h Refined the capping of the LOD Target Rate to be the lower REfreshrate when FOcus-inactive, this prevent the panic attacks of the LOD system on low end hardware 2019-06-07 17:00:37 -07:00
ScriptHighlighting.cpp
ScriptHighlighting.h
SecondaryCamera.cpp runtime switch for deferred/forward rendering 2019-04-26 14:37:27 -07:00
SecondaryCamera.h runtime switch for deferred/forward rendering 2019-04-26 14:37:27 -07:00
SpeechRecognizer.cpp
SpeechRecognizer.h Add "Avatar Script" JSDoc API classification 2019-02-12 11:49:49 +13:00
SpeechRecognizer.mm
UIUtil.cpp
UIUtil.h
Util.cpp
Util.h
world.h