On Thursday 02 May 2002 10:44 am, Juergen Vigna wrote: > On 30-Apr-2002 Claus Hindsgaul wrote: > > Sorry, no luck with the new patch > > Ok thanks for the file I can recreate the crash with it and your > explanation. I fixed this now hopefully but there is IMO a greater problem > to fix in GCItem. > > (this is for Angus) > IMO that this function is wrong: > > void GCacheItem::setStatus(ImageStatus new_status) > { > [snip] > // Use of current_view is very, very Evil!! > current_view->updateInset(inset, false); > [snip] > } > > IMO we shouldn't call a updateInset() here we should set a flag in the > owning inset and let the inset decide when to call the updateInset call. > Why did the above crash, because inside the inset draw() function we > called ::startLoading which called ::setStatus() which called an update > and which called a ::drawInset() again. This is somehow wrong IMO.
This has to be done sometime anyhow as "Use of current_view is very, very Evil!!" A.