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
[email protected]
https://mail.kde.org/mailman/listinfo/calligra-devel