commit 8a772549d7def2c11598ed1ed6e5c510c68e2edd
Author: Stephan Witt <[email protected]>
Date:   Sat Jul 4 18:59:29 2015 +0200

    Fix for #9659 - Qt may send more then one close event to a window. 
Therefore multiple calls to unregisterView for a GuiView are possible. The 
first one removes the view from the list of known views, subsequent calls do 
nothing.

diff --git a/src/frontends/qt4/GuiApplication.cpp 
b/src/frontends/qt4/GuiApplication.cpp
index 8bd22c8..fc96995 100644
--- a/src/frontends/qt4/GuiApplication.cpp
+++ b/src/frontends/qt4/GuiApplication.cpp
@@ -2735,10 +2735,11 @@ void GuiApplication::commitData(QSessionManager & sm)
 
 void GuiApplication::unregisterView(GuiView * gv)
 {
-       LAPPERR(d->views_[gv->id()] == gv);
-       d->views_.remove(gv->id());
-       if (current_view_ == gv)
-               current_view_ = 0;
+       if(d->views_.contains(gv->id()) && d->views_.value(gv->id()) == gv) {
+               d->views_.remove(gv->id());
+               if (current_view_ == gv)
+                       current_view_ = 0;
+       }
 }
 
 

Reply via email to