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