On Wed, May 16, 2018 at 01:09:43PM -0400, Richard Kimberly Heck wrote:
> On 05/16/2018 01:06 PM, Enrico Forestieri wrote:
> > On Wed, May 16, 2018 at 10:01:16AM +0200, Jean-Marc Lasgouttes wrote:
> >> Le 15/05/2018 à 19:51, Enrico Forestieri a écrit :
> >>>> The problem seems to be in the calling code. This seems to happen for 
> >>>> svgz
> >>>> files (compressed svg files).
> >>> Actually, it seems to happen when the same image is included multiple
> >>> times, irrespective of the type. See attached example.
> >>>
> >>> Bisect leads to a31d3dc6 as the commit that introduced this issue.
> >> I tried to figure out what happens, but this graphics preview code is a
> >> nightmare to me. Is there someone who can tell me how it works?
> > I don't know that code, so what follows is pure speculation. I think that
> > the preview machinery is activated during the metrics calculation. When
> > an image has to be loaded a second time, its preview is going to be
> > regenerated again, if the cache is not used or if it is not in the cache.
> > In order to do so, most variables are reset, among which also the target
> > format. Now, when the same image appears more than one time on screen,
> > while the first instance is being converted, a request for the second
> > instance is issued, because the image is not in the cache still or the
> > cache is not used. Hence, the same variables that are being used for the
> > preview of the first instance are now cleared while the conversion is
> > still not finished. Bummer.
> 
> Is it possible for us to keep a list of graphics presently being
> converted and refuse to convert the same one twice at the same time?

I really don't know that code, so I cannot answer. However, maybe the
status_ member could be used for that purpose. I simply don't know
where the decision of starting a conversion is taken in the code.

-- 
Enrico

Reply via email to