Pavel Sanda wrote: > Single instance of QSettings in pimp might help this.
Just trying dirty patch for caching settings inside GuiToolbar::saveSession instead of creating new local var for each fun entry shows that I get quit time around 1s. Quick check shows that most of remaining time is spent in DialogPtr saveSession loop again in saveUISettings; likely the same issue. The cache idea might need some refinement because I do not know what all entry points to saveSession() are and if having single instance throughout the whole session is correct or needs refresh. I won't have time to investigate more ATM. Pavel
diff --git a/src/frontends/qt4/GuiToolbar.cpp b/src/frontends/qt4/GuiToolbar.cpp index d519548e07..50953576a8 100644 --- a/src/frontends/qt4/GuiToolbar.cpp +++ b/src/frontends/qt4/GuiToolbar.cpp @@ -350,12 +350,15 @@ QString GuiToolbar::sessionKey() const return "views/" + QString::number(owner_.id()) + "/" + objectName(); } +QSettings *exitsettings=0; void GuiToolbar::saveSession() const { - QSettings settings; - settings.setValue(sessionKey() + "/visibility", visibility_); - settings.setValue(sessionKey() + "/movability", isMovable()); + if (!exitsettings) + exitsettings=new QSettings; + + exitsettings->setValue(sessionKey() + "/visibility", visibility_); + exitsettings->setValue(sessionKey() + "/movability", isMovable()); }