diff --git a/src/widgets/qmdieditor.cpp b/src/widgets/qmdieditor.cpp index b8d782f..9ac87db 100644 --- a/src/widgets/qmdieditor.cpp +++ b/src/widgets/qmdieditor.cpp @@ -1175,8 +1175,15 @@ bool qmdiEditor::saveFile(const QString &newFileName, bool makeExecutable) { return false; } + QPointer safeThis(this); QApplication::setOverrideCursor(QCursor(Qt::WaitCursor)); QApplication::processEvents(); + + if (!safeThis) { + QApplication::restoreOverrideCursor(); + return false; + } + auto textStream = QTextStream(&file); auto cursor = QTextCursor(textEditor->document()); auto op = Qutepart::AtomicEditOperation(textEditor); @@ -1363,9 +1370,15 @@ void qmdiEditor::loadContent(bool useBackup) { setModificationsLookupEnabled(false); hideBannerMessage(); setReadOnly(false); + QPointer safeThis(this); QApplication::setOverrideCursor(QCursor(Qt::WaitCursor)); QApplication::processEvents(); + if (!safeThis) { + QApplication::restoreOverrideCursor(); + return; + } + QFile file; auto loadedFromBackup = false; if (useBackup && savedState.contains(StateConstants::UUID)) {