On Sunday 15 May 2011 21:52:07 C. Boemann wrote: > On Sunday 15 May 2011 21:36:48 Sebastian Sauer wrote: > > 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%252F > > im ages%252F9%252F91%252F%25305%25308IG3- SlidesNotesHandouts.odt > > http://www.zagge.de/anchor/110407/wiki.services.openoffice.org%252Fw%252F > > im ages%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 > > i think it's should be > > qMax(0, d->rootAreaList.indexOf(area) - 1) > > as a change on one page might allow it to fit on the previous page
Done & committed. > it should also be possible to calc something similar for the last page to > loop Why for the last page?. Guess we also need a more clever toc now that only updates under some conditions.... _______________________________________________ calligra-devel mailing list calligra-devel@kde.org https://mail.kde.org/mailman/listinfo/calligra-devel