BBitmap: Restore special-casing for B_RGB32 in SetBits.
This reverts commit 6211ae2575.
It breaks multiple applications that worked fine on BeOS,
so clearly this tweak was correct after all, or at least mostly correct.
Change-Id: I3b228ba2119dd33067b8defedd6db4ae9ead9124
Reviewed-on: https://review.haiku-os.org/c/haiku/+/8537
Reviewed-by: waddlesplash <[email protected]>
Haiku-Format: Haiku-format Bot <[email protected]>
Tested-by: Commit checker robot <[email protected]>
This commit is contained in:
@@ -665,7 +665,11 @@ BBitmap::SetBits(const void* data, int32 length, int32 offset,
|
||||
int32 inBPR = -1;
|
||||
// tweaks to mimic R5 behavior
|
||||
if (error == B_OK) {
|
||||
if (colorSpace == B_CMAP8 && fColorSpace != B_CMAP8) {
|
||||
if (colorSpace == B_RGB32) {
|
||||
// B_RGB32 means actually unpadded B_RGB24_BIG
|
||||
colorSpace = B_RGB24_BIG;
|
||||
inBPR = width * 3;
|
||||
} else if (colorSpace == B_CMAP8 && fColorSpace != B_CMAP8) {
|
||||
// If in color space is B_CMAP8, but the bitmap's is another one,
|
||||
// ignore source data row padding.
|
||||
inBPR = width;
|
||||
|
||||
Reference in New Issue
Block a user