Re: [LyX/master] TocWidget: fix an erroneous collapse and optimise updates based on profiling

2017-01-04 Thread Jean-Marc Lasgouttes
Le 03/01/2017 à 21:53, Guillaume Munch a écrit : We can maybe measure how useful this cache is, and remove it if the difference is not important (which is probably the case). Removing the cached pointer requires some thinking as well, since CursorSlice has no way of finding the inset on its

Re: [LyX/master] TocWidget: fix an erroneous collapse and optimise updates based on profiling

2017-01-03 Thread Guillaume Munch
Le 31/12/2016 à 16:13, Jean-Marc Lasgouttes a écrit : Le 31/12/2016 à 15:48, Guillaume Munch a écrit : Using weak pointers instead of naked pointers could be used to let you know when an inset has been destroyed. The cursor could then check if all slices are valid, and if not then fix itself.

Re: [LyX/master] TocWidget: fix an erroneous collapse and optimise updates based on profiling

2016-12-31 Thread Jean-Marc Lasgouttes
Le 31/12/2016 à 15:48, Guillaume Munch a écrit : Using weak pointers instead of naked pointers could be used to let you know when an inset has been destroyed. The cursor could then check if all slices are valid, and if not then fix itself. This would implement the original intent that the

Re: [LyX/master] TocWidget: fix an erroneous collapse and optimise updates based on profiling

2016-12-31 Thread Guillaume Munch
Le 30/12/2016 à 21:02, Richard Heck a écrit : On 12/30/2016 12:15 PM, Guillaume Munch wrote: Thanks for the patch. It is the same as calling fixIfBroken in GuiView::structureChanged (as attached) which I agree becomes even simpler. But, provided one accepts the idea that DocIterators hold

Re: [LyX/master] TocWidget: fix an erroneous collapse and optimise updates based on profiling

2016-12-31 Thread Guillaume Munch
Le 30/12/2016 à 22:48, Jean-Marc Lasgouttes a écrit : At some time where DEPM was causing issues, there was the idea of registering cursors with their buffer. This would allow to keep track of what is happening. Another possibility would be to register insets, so that one can know when

Re: [LyX/master] TocWidget: fix an erroneous collapse and optimise updates based on profiling

2016-12-30 Thread Jean-Marc Lasgouttes
Le 30/12/2016 à 17:44, Guillaume Munch a écrit : In general this is when we add a cursor.fixIfBroken() somewhere. Ok, I saw that DocIterator::sanitize and DocIterator::updateInsets both fix the pointers, but I missed that fixIfBroken does that too, and indeed there's a lot of calls to that.

Re: [LyX/master] TocWidget: fix an erroneous collapse and optimise updates based on profiling

2016-12-30 Thread Jean-Marc Lasgouttes
At some time where DEPM was causing issues, there was the idea of registering cursors with their buffer. This would allow to keep track of what is happening. Another possibility would be to register insets, so that one can know when cursor.inset() is not valid anymore. Or to turn this method

Re: [LyX/master] TocWidget: fix an erroneous collapse and optimise updates based on profiling

2016-12-30 Thread Richard Heck
On 12/30/2016 12:15 PM, Guillaume Munch wrote: > Le 30/12/2016 à 17:11, Richard Heck a écrit : >> On 12/29/2016 01:21 AM, Guillaume Munch wrote: >>> Le 27/12/2016 à 23:11, Scott Kostyshak a écrit : On Tue, May 31, 2016 at 01:15:38AM +0200, Guillaume Munch wrote: > commit

Re: [LyX/master] TocWidget: fix an erroneous collapse and optimise updates based on profiling

2016-12-30 Thread Guillaume Munch
Le 30/12/2016 à 17:11, Richard Heck a écrit : On 12/29/2016 01:21 AM, Guillaume Munch wrote: Le 27/12/2016 à 23:11, Scott Kostyshak a écrit : On Tue, May 31, 2016 at 01:15:38AM +0200, Guillaume Munch wrote: commit 1cc14a31ca8320d881b674f93c34a09cf1666cca Author: Guillaume Munch

Re: [LyX/master] TocWidget: fix an erroneous collapse and optimise updates based on profiling

2016-12-30 Thread Jean-Marc Lasgouttes
Le 30/12/2016 à 17:26, Richard Heck a écrit : Here's a modified version of this patch, taking into account JMarc's suggestions. I'd rather call the indirection functions fixCursorsIfBroken. It is ugly, but at least by reading the code I can guess what happens. JMarc

Re: [LyX/master] TocWidget: fix an erroneous collapse and optimise updates based on profiling

2016-12-30 Thread Guillaume Munch
Le 30/12/2016 à 17:05, Jean-Marc Lasgouttes a écrit : Le 29/12/2016 à 07:21, Guillaume Munch a écrit : Le 27/12/2016 à 23:11, Scott Kostyshak a écrit : On Tue, May 31, 2016 at 01:15:38AM +0200, Guillaume Munch wrote: commit 1cc14a31ca8320d881b674f93c34a09cf1666cca Author: Guillaume Munch

Re: [LyX/master] TocWidget: fix an erroneous collapse and optimise updates based on profiling

2016-12-30 Thread Richard Heck
On 12/30/2016 11:05 AM, Jean-Marc Lasgouttes wrote: > Le 29/12/2016 à 07:21, Guillaume Munch a écrit : >> Le 27/12/2016 à 23:11, Scott Kostyshak a écrit : >>> On Tue, May 31, 2016 at 01:15:38AM +0200, Guillaume Munch wrote: commit 1cc14a31ca8320d881b674f93c34a09cf1666cca Author:

Re: [LyX/master] TocWidget: fix an erroneous collapse and optimise updates based on profiling

2016-12-30 Thread Richard Heck
On 12/29/2016 01:21 AM, Guillaume Munch wrote: > Le 27/12/2016 à 23:11, Scott Kostyshak a écrit : >> On Tue, May 31, 2016 at 01:15:38AM +0200, Guillaume Munch wrote: >>> commit 1cc14a31ca8320d881b674f93c34a09cf1666cca >>> Author: Guillaume Munch >>> Date: Mon May 30 21:42:08 2016

Re: [LyX/master] TocWidget: fix an erroneous collapse and optimise updates based on profiling

2016-12-30 Thread Richard Heck
On 12/29/2016 01:21 AM, Guillaume Munch wrote: > Le 27/12/2016 à 23:11, Scott Kostyshak a écrit : >> On Tue, May 31, 2016 at 01:15:38AM +0200, Guillaume Munch wrote: >>> commit 1cc14a31ca8320d881b674f93c34a09cf1666cca >>> Author: Guillaume Munch >>> Date: Mon May 30 21:42:08 2016

Re: [LyX/master] TocWidget: fix an erroneous collapse and optimise updates based on profiling

2016-12-30 Thread Jean-Marc Lasgouttes
Le 29/12/2016 à 07:21, Guillaume Munch a écrit : Le 27/12/2016 à 23:11, Scott Kostyshak a écrit : On Tue, May 31, 2016 at 01:15:38AM +0200, Guillaume Munch wrote: commit 1cc14a31ca8320d881b674f93c34a09cf1666cca Author: Guillaume Munch Date: Mon May 30 21:42:08 2016 +0100

Re: [LyX/master] TocWidget: fix an erroneous collapse and optimise updates based on profiling

2016-12-28 Thread Guillaume Munch
Le 27/12/2016 à 23:11, Scott Kostyshak a écrit : On Tue, May 31, 2016 at 01:15:38AM +0200, Guillaume Munch wrote: commit 1cc14a31ca8320d881b674f93c34a09cf1666cca Author: Guillaume Munch Date: Mon May 30 21:42:08 2016 +0100 TocWidget: fix an erroneous collapse and optimise

Re: [LyX/master] TocWidget: fix an erroneous collapse and optimise updates based on profiling

2016-12-27 Thread Kornel Benko
Am Dienstag, 27. Dezember 2016 um 17:11:20, schrieb Scott Kostyshak > On Tue, May 31, 2016 at 01:15:38AM +0200, Guillaume Munch wrote: > > commit 1cc14a31ca8320d881b674f93c34a09cf1666cca > > Author: Guillaume Munch > > Date: Mon May 30 21:42:08 2016 +0100 > >

Re: [LyX/master] TocWidget: fix an erroneous collapse and optimise updates based on profiling

2016-12-27 Thread Scott Kostyshak
On Tue, May 31, 2016 at 01:15:38AM +0200, Guillaume Munch wrote: > commit 1cc14a31ca8320d881b674f93c34a09cf1666cca > Author: Guillaume Munch > Date: Mon May 30 21:42:08 2016 +0100 > > TocWidget: fix an erroneous collapse and optimise updates based on > profiling > >