From 5d8fa03090bfa44eaa40a04efc5eb4c328317fb0 Mon Sep 17 00:00:00 2001
From: James Turner <zakalawe@mac.com>
Date: Mon, 9 Dec 2013 23:25:04 +0000
Subject: [PATCH] Shutdown: clear effects cleanly.

Avoids effects (and referenced properties / objects within) persisting
due to references in the effects cache, after globals are gone.
---
 src/Main/main.cxx | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/src/Main/main.cxx b/src/Main/main.cxx
index 7756a6d0c..f64e0d38a 100644
--- a/src/Main/main.cxx
+++ b/src/Main/main.cxx
@@ -37,6 +37,7 @@
 #include <simgear/canvas/VGInitOperation.hxx>
 #include <simgear/scene/model/modellib.hxx>
 #include <simgear/scene/material/matlib.hxx>
+#include <simgear/scene/material/Effect.hxx>
 #include <simgear/props/AtomicChangeListener.hxx>
 #include <simgear/props/props.hxx>
 #include <simgear/timing/sg_time.hxx>
@@ -433,6 +434,8 @@ int fgMainInit( int argc, char **argv ) {
     frame_signal.clear();
     fgOSCloseWindow();
     
+    simgear::clearEffectCache();
+    
     // clean up here; ensure we null globals to avoid
     // confusing the atexit() handler
     delete globals;