src/reportlab/platypus/doctemplate.py
changeset 2996 13de24dfc11b
parent 2995 b510fcf46c0b
child 2998 efe6a1d93dd2
equal deleted inserted replaced
2995:b510fcf46c0b 2996:13de24dfc11b
   685                         ident = "Flowable %s too large on page %d" % (self._fIdent(f,60,frame), self.page)
   685                         ident = "Flowable %s too large on page %d" % (self._fIdent(f,60,frame), self.page)
   686                         #leave to keep apart from the raise
   686                         #leave to keep apart from the raise
   687                         raise LayoutError(ident)
   687                         raise LayoutError(ident)
   688                     # this ought to be cleared when they are finally drawn!
   688                     # this ought to be cleared when they are finally drawn!
   689                     f._postponed = 1
   689                     f._postponed = 1
       
   690                     if self._multiBuildEdits:
       
   691                         self._multiBuildEdits((delattr,f,'_postponed'))
   690                     flowables.insert(0,f)           # put the flowable back
   692                     flowables.insert(0,f)           # put the flowable back
   691                     self.handle_frameEnd()
   693                     self.handle_frameEnd()
   692 
   694 
   693     #these are provided so that deriving classes can refer to them
   695     #these are provided so that deriving classes can refer to them
   694     _handle_documentBegin = handle_documentBegin
   696     _handle_documentBegin = handle_documentBegin
   853                 self.canv.save()
   855                 self.canv.save()
   854                 break
   856                 break
   855             if passes > maxPasses:
   857             if passes > maxPasses:
   856                 raise IndexError, "Index entries not resolved after %d passes" % maxPasses
   858                 raise IndexError, "Index entries not resolved after %d passes" % maxPasses
   857 
   859 
   858             #clean up so multi-build does not go wrong - the frame
       
   859             #packer might have tacked an attribute onto some flowables
       
   860             for elem in story:
       
   861                 if hasattr(elem, '_postponed'):
       
   862                     del elem._postponed
       
   863 
       
   864             #work through any edits
   860             #work through any edits
   865             while mbe:
   861             while mbe:
   866                 e = mbe.pop(0)
   862                 e = mbe.pop(0)
   867                 e[0](*e[1:])
   863                 e[0](*e[1:])
   868 
   864