>>>>> "Martin" == Martin Vermeer <[EMAIL PROTECTED]> writes:
>> Also, is there a reason why Wide() and repaintAll() are not members >> of PainterInfo? This has to be better than those mutable variables, >> especially since their lifetime is the update() call. I do not like >> adding state info where it does not belong. Martin> Think multiple nested insets. What can happen is non-wide inset inside wide inset, right? Martin> About repaintAll, the row painter rp is not created yet in Martin> some places where I need it. Do you see a way around that? But you always have a PainterInfo object. Martin> Testing whether a row has already been painted onto the Martin> screen. Not repainting it if so... but only if we are inside Martin> an inset that allows this without messing up the display Martin> ("Wide"). However, always fully repainting the "current row" Martin> (if it is non-trivial, i.e., contains more than just an inset) Martin> and any (nested) insets contents on it. Thanks. One last thing: the following code Index: mathed/math_hullinset.h =================================================================== --- mathed/math_hullinset.h (revision 13538) +++ mathed/math_hullinset.h (working copy) @@ -189,7 +189,7 @@ public: /// what appears in the minibuffer when opening virtual std::string const editMessage() const; /// - virtual bool isTextInset() const { return true; } + virtual bool canTrackChanges() const { return true; } /// virtual void mutateToText(); /// seems very wrong to me. Isn't it the reason for bug 2214? http://bugzilla.lyx.org/show_bug.cgi?id=2214 In other words, shall we remove this method? Math insets cannot do change tracking. I am currently committing the fix to bug 2195. JMarc