Author: jghali
Date: Sun May  3 14:32:18 2020
New Revision: 23677

URL: http://scribus.net/websvn/listing.php?repname=Scribus&sc=1&rev=23677
Log:
Prevent potential crash in case of broken note frame

Modified:
    trunk/Scribus/scribus/canvasmode_edit.cpp

Modified: trunk/Scribus/scribus/canvasmode_edit.cpp
URL: 
http://scribus.net/websvn/diff.php?repname=Scribus&rev=23677&path=/trunk/Scribus/scribus/canvasmode_edit.cpp
==============================================================================
--- trunk/Scribus/scribus/canvasmode_edit.cpp   (original)
+++ trunk/Scribus/scribus/canvasmode_edit.cpp   Sun May  3 14:32:18 2020
@@ -20,6 +20,7 @@
 #include <QButtonGroup>
 #include <QCheckBox>
 #include <QCursor>
+#include <QDebug>
 #include <QEvent>
 #include <QMessageBox>
 #include <QMouseEvent>
@@ -29,7 +30,6 @@
 #include <QRect>
 #include <QTimer>
 #include <QWidgetAction>
-#include <QDebug>
 
 #include "appmodes.h"
 #include "canvas.h"
@@ -138,11 +138,15 @@
                currItem->handleModeEditKey(e, m_keyRepeat);
                if (currItem->isAutoNoteFrame() && 
currItem->asNoteFrame()->notesList().isEmpty())
                {
-                       if (!currItem->asNoteFrame()->isEndNotesFrame())
-                       {
-                               
currItem->asNoteFrame()->masterFrame()->invalidateLayout(false);
-                               
currItem->asNoteFrame()->masterFrame()->updateLayout();
-                       }
+                       PageItem_NoteFrame* noteFrame = currItem->asNoteFrame();
+                       if (!noteFrame->isEndNotesFrame() && 
noteFrame->masterFrame())
+                       {
+                               PageItem_TextFrame* masterFrame = 
noteFrame->masterFrame();
+                               masterFrame->invalidateLayout(false);
+                               masterFrame->updateLayout();
+                       }
+                       else if (!noteFrame->isEndNotesFrame() && 
!noteFrame->masterFrame())
+                               qDebug() << "Broken note frame without master 
frame detected";
                }
                m_keyRepeat = oldKeyRepeat;
                m_doc->regionsChanged()->update(QRectF());


_______________________________________________
scribus-commit mailing list
[email protected]
http://lists.scribus.net/mailman/listinfo/scribus-commit

Reply via email to