diff view/View.cpp @ 836:1384485650e3

Populate the fixed order layer list
author Chris Cannam
date Tue, 02 Sep 2014 15:20:23 +0100
parents 7792b7667f74
children 6c4cab21e387
line wrap: on
line diff
--- a/view/View.cpp	Tue Sep 02 14:47:04 2014 +0100
+++ b/view/View.cpp	Tue Sep 02 15:20:23 2014 +0100
@@ -532,6 +532,7 @@
     SingleColourLayer *scl = dynamic_cast<SingleColourLayer *>(layer);
     if (scl) scl->setDefaultColourFor(this);
 
+    m_fixedOrderLayers.push_back(layer);
     m_layerStack.push_back(layer);
 
     QProgressBar *pb = new QProgressBar(this);
@@ -599,7 +600,18 @@
     delete m_cache;
     m_cache = 0;
 
-    for (LayerList::iterator i = m_layerStack.begin(); i != m_layerStack.end(); ++i) {
+    for (LayerList::iterator i = m_fixedOrderLayers.begin();
+         i != m_fixedOrderLayers.end();
+         ++i) {
+	if (*i == layer) {
+	    m_fixedOrderLayers.erase(i);
+            break;
+        }
+    }
+
+    for (LayerList::iterator i = m_layerStack.begin(); 
+         i != m_layerStack.end();
+         ++i) {
 	if (*i == layer) {
 	    m_layerStack.erase(i);
 	    if (m_progressBars.find(layer) != m_progressBars.end()) {