Closed Bug 327197 Opened 15 years ago Closed 15 years ago

[BeOS] download manager icons corrupted

Categories

(Core :: ImageLib, defect)

x86
BeOS
defect
Not set
normal

Tracking

()

RESOLVED FIXED

People

(Reporter: doug, Assigned: pavlov)

References

Details

(Keywords: fixed1.8.1)

Attachments

(3 files)

User-Agent:       Mozilla/5.0 (BeOS; U; BeOS BePC; en-US; rv:1.9a1) Gecko/20060206 Firefox/1.6a1
Build Identifier: Mozilla/5.0 (BeOS; U; BeOS BePC; en-US; rv:1.9a1) Gecko/20060206 Firefox/1.6a1

sometime between 2006-02-06 and 2006-02-12, icons in BeOS download manager became corrupted.  After my 2006-02-12 cvs update, icons show black where transparency would be appropriate and also show only parts of the icon.  Screenshots attached.  Could this be related to icon handling changes in bug 326714?

Reproducible: Always

Steps to Reproduce:
1.download a file
2.open download manager


Actual Results:  
icon display is corrupted

Expected Results:  
correct icon should be displayed
Component: General → ImageLib
Product: Firefox → Core
Version: unspecified → Trunk
Heh, that iconChannel thing is bit funny - with all that converting from OS format to mozilla format and then back to draw on OS-specific surface/device.

If nobody will fix that failure, i will look at it.
Though, as it was broken in process of solving problem similar i reported for BeZilla (slowness), maybe there is reason to fix both problem together.
Component: ImageLib → General
Product: Core → Firefox
Version: Trunk → unspecified
Assignee: nobody → pavlov
Component: General → ImageLib
Product: Firefox → Core
QA Contact: general
Version: unspecified → Trunk
(In reply to comment #3)
<snip>
> Though, as it was broken in process of solving problem similar i reported for
> BeZilla (slowness), maybe there is reason to fix both problem together.
> 
If nothing else, the code implemented for GTK may give some clue how to speed up our implementation.
oh dammit. I always thought that this code was asking for bugs:
    destByte = buffer + 2 + iconSize * iconSize * 3 + iconRow * alphaBytesPerRow;

try changing that 2 to 3?
(In reply to comment #5)
> oh dammit. I always thought that this code was asking for bugs:
>     destByte = buffer + 2 + iconSize * iconSize * 3 + iconRow *
> alphaBytesPerRow;
> 
> try changing that 2 to 3?
> 
I changed the 2 to a 3, did a make clean and make in icons/beos and a make in icons.  Now the icons are completely blank.  Probably not what you intended.

(In reply to comment #6)
> Now the icons are completely blank.  Probably not what you intended.
> 
IGNORE, please, biesi.  My mistake - there's another bug and associated patch that I believe was missing.  Rebuilding now and will post results later tonight.
(In reply to comment #6)
> (In reply to comment #5)
> > oh dammit. I always thought that this code was asking for bugs:
> >     destByte = buffer + 2 + iconSize * iconSize * 3 + iconRow *
> > alphaBytesPerRow;
> > 
> > try changing that 2 to 3?
> > 

Changing 2 to 3 fixed the problem.  Missing icons were due to unapplied patch for bug 280944 (still unsolved).  I'll submit this change as a patch, if you'd like.
> I'll submit this change as a patch, if you'd like.

please do.
Status: UNCONFIRMED → NEW
Ever confirmed: true
Attachment #211985 - Flags: review?(sergei_d)
Comment on attachment 211985 [details] [diff] [review]
patch containing biesi's suggested fix

r=sergei_d
Attachment #211985 - Flags: review?(sergei_d) → review+
Checking in mozilla/modules/libpr0n/decoders/icon/beos/nsIconChannel.cpp;
/cvsroot/mozilla/modules/libpr0n/decoders/icon/beos/nsIconChannel.cpp,v  <--  nsIconChannel.cpp
new revision: 1.3; previous revision: 1.2
done
Status: NEW → RESOLVED
Closed: 15 years ago
Resolution: --- → FIXED
Comment on attachment 211985 [details] [diff] [review]
patch containing biesi's suggested fix

You probably want to land this on MOZILLA_1_8_BRANCH as well, since the bug that caused the regression landed there too.
Attachment #211985 - Flags: approval-branch-1.8.1+
hope it landed into MOZILLA_1_8_BRANCH:
Checking in mozilla/modules/libpr0n/decoders/icon/beos//nsIconChannel.cpp;
/cvsroot/mozilla/modules/libpr0n/decoders/icon/beos/nsIconChannel.cpp,v  <--  nsIconChannel.cpp
new revision: 1.1.2.4; previous revision: 1.1.2.3
done 
You need to log in before you can comment on or make changes to this bug.