Closed Bug 86822 Opened 23 years ago Closed 23 years ago

nondeterministic gif spacer detection

Categories

(Core :: Graphics: ImageLib, defect)

x86
Linux
defect
Not set
normal

Tracking

()

VERIFIED FIXED
mozilla0.9.2

People

(Reporter: martin.macok, Assigned: tor)

References

()

Details

(Whiteboard: critical to 0.9.2, have patch, need r and sr)

Attachments

(3 files)

When I visit above URL I see all gifs for the first time.
But after repeatedly hitting Reload button the bottom lines (gifs) are sometimes
not displayed (non deterministic ... looks like 1/3 of cases).

The bug there was fixed by bug 74313 (bottom lines were not shown at all) but
now they are not shown everytime.

I use 20010619xx (with XIE/gdkpixbuf) removed by Bug 83920.
Red Hat Rawhide Linux
sorry, I mean WITHOUT XIE/gdpixbuf (not WITH)
Confirming, ccing tor, blizzard.
Status: UNCONFIRMED → NEW
Ever confirmed: true
WFM in linux 2001061821
Reloaded 10 times, while reloading the vertical lines of the boxes were not
filled in completely, but after it finished reloading it always drawed them fine
Saw this on Linux 2001061914 once, but can't repeat at will.
I can verify that this does happen sometimes.  Come to think of it, I think I've
seen this on other sites, too.  It's the last scan line that is sometimes not
painted properly.
I have a much better testcase this time.
Go to: http://www.roumen.cz/

There should be dark blue images in the top and left part of the page with round
corners.
The bottom image (scaled) is missing. 
Try reload, it never appears.
Then go to Pictures or Links and back - the image is now there.
Try reload -> it disappears.
Summary: some scaled GIFs are not always displayed → some scaled images are not always displayed
Confirming tom's testcase
Why would the last part of the image be scaled?
Actually 2 images on the page aren't displayed. The leftmiddle.gif and
leftbottom.gif. Anyone of them isn't scaled but the leftmiddle is repeated since
this is background image of a table cell.
So changing a summary a little bit.

Summary: some scaled images are not always displayed → images on bottom of tables are not always displayed
Are you sure the summary of this bug should be more specific?
Also make sure that the problem happens with something more than gifs as both
testcases are gif related

Why do i think this problem is not imagelib related but rather cache related?
nsImageGTK:ImageUpdated inspects the alpha channel information to see whether
an image is a spacer gif, since we don't want to spend the time scaling and
drawing them.  ImageUpdated gets called from SetImageData, which all the
decoders were calling right before SetAlphaData.  Thus we were looking at
garbage information.  The following patch flips the order of SetAlphaData
and SetImageData in the decoders.

This fixes the first testcase.  I think the second is a different problem.
Whiteboard: critical to 0.9.2
Target Milestone: --- → mozilla0.9.2
r/sr=blizzard
Whiteboard: critical to 0.9.2 → critical to 0.9.2, have patch r and sr
In a related problem, some animated gifs weren't showing up during their first
cycle because they were tagged as spacers.  Their contents were filled in with
DrawToImage, which wasn't setting the flags properly.  This new patch modifies
DrawToImage to use ImageUpdated.
Slightly different strategy for DrawToImage() - preserve being able to do
just server side pixmap copies and just fiddle with the flags.
Whiteboard: critical to 0.9.2, have patch r and sr → critical to 0.9.2, have patch, need r and sr
This bug is likely the cause of a problem I've seen occasionally were ui
elements such as cascade arrows and radio button dots aren't drawn.

BTW: I think the DrawToImage thing might be the cause of the second testcase.
leftdown.gif and leftmiddle.gif are one-frame animations.
Assignee: pavlov → tor
Summary: images on bottom of tables are not always displayed → nondeterministic gif spacer detection
r/sr=blizzard ( again )
r=pavlov
a=dbaron for 0.9.2 checkin (on behalf of drivers)
Checked in on branch and trunk.
Status: NEW → RESOLVED
Closed: 23 years ago
Resolution: --- → FIXED
Verified. What kind of bug is the one on the second testcase? Cache related maybe?
I've entered a new bug 87579 and cced some people from this bug there.
Verified fixed linux build 2001062506
Status: RESOLVED → VERIFIED
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: