Hi, please see following patch for libs/textlayout/KoTextDocumentLayout.cpp to prevent doing full relayouts just cause we update the page-variable.
This fixes the infinite loop with the http://www.zagge.de/anchor/110407/wiki.services.openoffice.org%252Fw%252Fimages%252F9%252F91%252F%25305%25308IG3- SlidesNotesHandouts.odt http://www.zagge.de/anchor/110407/wiki.services.openoffice.org%252Fw%252Fimages%252Fe%252Fe6%252F%25303%25304CG- ChartsAndGraphs.odt Ok to commit (will remove the #if 0-part + add dox before)? diff --git a/libs/textlayout/KoTextDocumentLayout.cpp b/libs/textlayout/KoTextDocumentLayout.cpp index 71f7b91..0a5ec61 100644 --- a/libs/textlayout/KoTextDocumentLayout.cpp +++ b/libs/textlayout/KoTextDocumentLayout.cpp @@ -245,12 +245,21 @@ void KoTextDocumentLayout::documentChanged(int position, int charsRemoved, int c from = block.position() + block.length(); } +#if 0 //TODO FIXME make corresponding root area as dirty and then do layout // right now we are just marking all as dirty foreach (KoTextLayoutRootArea *rootArea, d->rootAreaList) { if (!rootArea->isDirty()) rootArea->setDirty(); } +#else + KoTextLayoutRootArea *area = rootAreaForPosition(position); + if (!area) + return; + for(int i = qMax(0, d->rootAreaList.indexOf(area)); i < d- >rootAreaList.count(); ++i) + d->rootAreaList[i]->setDirty(); +#endif + emitLayoutIsDirty(); } _______________________________________________ calligra-devel mailing list calligra-devel@kde.org https://mail.kde.org/mailman/listinfo/calligra-devel