From 84f2cc4a172982ccbbddd9f8da69ed74a2157143 Mon Sep 17 00:00:00 2001 From: "Zheng, Lei" Date: Wed, 4 Sep 2019 12:58:27 +0800 Subject: [PATCH] App: call setActiveDocument when reverting document --- src/App/Document.cpp | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/App/Document.cpp b/src/App/Document.cpp index fe1fef2d3a..513418d08c 100644 --- a/src/App/Document.cpp +++ b/src/App/Document.cpp @@ -2371,7 +2371,9 @@ void Document::restore (const char *filename, clearUndos(); d->activeObject = 0; + bool signal = false; if(d->objectArray.size()) { + signal = true; GetApplication().signalDeleteDocument(*this); d->objectArray.clear(); for(auto &v : d->objectMap) { @@ -2380,7 +2382,6 @@ void Document::restore (const char *filename, } d->objectMap.clear(); d->objectIdMap.clear(); - GetApplication().signalNewDocument(*this,false); } Base::FlagToggler<> flag(_IsRestoring,false); @@ -2393,6 +2394,11 @@ void Document::restore (const char *filename, d->objectIdMap.clear(); d->lastObjectId = 0; + if(signal) { + GetApplication().signalNewDocument(*this,true); + GetApplication().setActiveDocument(this); + } + if(!filename) filename = FileName.getValue(); Base::FileInfo fi(filename);