I'm looking into a crash which happens when textshapes is edited and the shape 
is not on page 1. This is a general case of header/footer crash reported in:
https://bugs.kde.org/show_bug.cgi?id=273945

AFAICS the problem is in KWRootAreaProvider::provide().
It seems to mix up which page number to use when searching for frames on a 
page. I don't fully understand how it is meant to work so I need help with 
that.
The att. hack seems to fix the problem but is, well, just a hack.
-- 
Mvh.
Dag Andersen
diff --git a/words/part/KWRootAreaProvider.cpp b/words/part/KWRootAreaProvider.cpp
index 5d44290..746f3e3 100755
--- a/words/part/KWRootAreaProvider.cpp
+++ b/words/part/KWRootAreaProvider.cpp
@@ -204,7 +204,12 @@ KoTextLayoutRootArea *KWRootAreaProvider::provide(KoTextDocumentLayout *document
 
     handleDependentProviders(pageNumber);
 
-    QList<KWFrame *> frames = kwdoc->frameLayout()->framesOn(m_textFrameSet, pageNumber);
+    QList<KWFrame *> frames;
+    if (m_textFrameSet->textFrameSetType() == KWord::MainTextFrameSet) {
+        frames = kwdoc->frameLayout()->framesOn(m_textFrameSet, pageNumber);
+    } else if (m_textFrameSet->frameCount() > 0) {
+        frames = kwdoc->frameLayout()->framesOn(m_textFrameSet, m_textFrameSet->pageManager()->page(m_textFrameSet->frames().at(0)->shape()).pageNumber());
+    }
 
     // position OtherFrameSet's which are anchored to this page
     foreach(KWFrameSet* fs, kwdoc->frameSets()) {
_______________________________________________
calligra-devel mailing list
calligra-devel@kde.org
https://mail.kde.org/mailman/listinfo/calligra-devel

Reply via email to