On Wed, Oct 18, 2017 at 10:18:42AM +0200, Jean-Marc Lasgouttes wrote: > Le 18/10/2017 à 10:13, Enrico Forestieri a écrit : > > > It should be rather safe: > > > http://doc.qt.io/qt-4.8/qsettings.html#accessing-settings-from-multiple-threads-or-processes-simultaneously > > > > This would be the attached patch. Now I don't experience any delay on quit. > > Thanks for doing it Enrico. Just a question: why is it necessary to #include > <QSettings> instead of just forward-declaring the class?
The compiler doesn't like it: ../../../../src/frontends/qt4/GuiToolbar.cpp: In member function ‘void lyx::frontend::GuiToolbar::saveSession(lyx::QSettings&) const’: ../../../../src/frontends/qt4/GuiToolbar.cpp:356:10: error: invalid use of incomplete type ‘class lyx::QSettings’ settings.setValue(sessionKey() + "/visibility", visibility_); ^ In file included from ../../../../src/frontends/qt4/GuiToolbar.cpp:18:0: ../../../../src/frontends/qt4/GuiToolbar.h:27:7: note: forward declaration of ‘class lyx::QSettings’ class QSettings; ^~~~~~~~~ ../../../../src/frontends/qt4/GuiToolbar.cpp:357:10: error: invalid use of incomplete type ‘class lyx::QSettings’ settings.setValue(sessionKey() + "/movability", isMovable()); ^ In file included from ../../../../src/frontends/qt4/GuiToolbar.cpp:18:0: ../../../../src/frontends/qt4/GuiToolbar.h:27:7: note: forward declaration of ‘class lyx::QSettings’ class QSettings; ^~~~~~~~~ ../../../../src/frontends/qt4/GuiToolbar.cpp: In member function ‘void lyx::frontend::GuiToolbar::restoreSession()’: ../../../../src/frontends/qt4/GuiToolbar.cpp:363:12: error: aggregate ‘lyx::QSettings settings’ has incomplete type and cannot be defined QSettings settings; ^~~~~~~~ -- Enrico