Mon Jan 25 20:09:40 CET 2010 Tobias Rautenkranz * Fix with-app cleanup diff -rN -u old-qt.gui/src/application.lisp new-qt.gui/src/application.lisp --- old-qt.gui/src/application.lisp 2014-10-30 07:40:49.000000000 +0100 +++ new-qt.gui/src/application.lisp 2014-10-30 07:40:49.000000000 +0100 @@ -2,7 +2,7 @@ (defvar *widgets* nil) -(defmethod delete-app :around ((application qt:application)) +(defmethod cl-smoke.qt.core:delete-app :around ((application qt:application)) (qt:application.close-all-windows) ;; widgets are only valid as long, as an application object ;; exists. QApplication::~QApplication() deletes all widgets in @@ -11,6 +11,9 @@ ;; see: qt4/src/gui/kernel/qapplication.cpp (loop for widget across (qt:application.all-widgets) do (tg:cancel-finalization widget)) + ;; Finalize other stuff before deleting the QApplication, + ;; e.g. QGraphicsScene + (tg:gc :full t) (call-next-method) (setf *widgets* nil))