1 # HG changeset patch |
1 # HG changeset patch |
2 # Parent 46ea866ca3acb8bb5e1709ceb799b9c94f591dec |
2 # Parent 883d2c7fec80b9714ccfefa461a02f5b09e3ee09 |
3 Problem description: Tab-titles that are too long to fit into a tab get faded out. |
3 Problem description: Tab-titles that are too long to fit into a tab get faded out. |
4 On big endian this is broken and instead of fading out, the |
4 On big endian this is broken and instead of fading out, the |
5 tab gets white and the font transparent, leading to an unreadable |
5 tab gets white and the font transparent, leading to an unreadable |
6 tab-title |
6 tab-title |
7 Solution: This is not a real solution, but a hack. The real solution would have been |
7 Solution: This is not a real solution, but a hack. The real solution would have been |
8 to byte-swap the correct buffer, but I could not find it. |
8 to byte-swap the correct buffer, but I could not find it. |
9 So the next best thing is to deactivate the fading-effect. Now all tab-titles |
9 So the next best thing is to deactivate the fading-effect. Now all tab-titles |
10 are readable, albeit not as pretty to look at as they could be. |
10 are readable, albeit not as pretty to look at as they could be. |
11 Side-effects: I have not yet found an unwanted side-effect. |
11 Side-effects: I have not yet found an unwanted side-effect. |
12 |
12 |
13 diff -r 46ea866ca3ac -r 6ef20eee3f8f gfx/2d/DrawTargetSkia.cpp |
13 diff --git a/gfx/2d/DrawTargetSkia.cpp b/gfx/2d/DrawTargetSkia.cpp |
14 --- a/gfx/2d/DrawTargetSkia.cpp Tue Oct 22 12:27:22 2019 +0200 |
14 --- a/gfx/2d/DrawTargetSkia.cpp |
15 +++ b/gfx/2d/DrawTargetSkia.cpp Thu Oct 31 09:11:56 2019 +0100 |
15 +++ b/gfx/2d/DrawTargetSkia.cpp |
16 @@ -1861,6 +1861,14 @@ |
16 @@ -1856,16 +1856,24 @@ void DrawTargetSkia::PushLayerWithBlend( |
|
17 } |
|
18 |
|
19 SkCanvas::SaveLayerRec saveRec( |
|
20 aBounds.IsEmpty() ? nullptr : &bounds, &paint, nullptr, clipImage.get(), |
|
21 &clipMatrix, |
17 SkCanvas::kPreserveLCDText_SaveLayerFlag | |
22 SkCanvas::kPreserveLCDText_SaveLayerFlag | |
18 (aCopyBackground ? SkCanvas::kInitWithPrevious_SaveLayerFlag : 0)); |
23 (aCopyBackground ? SkCanvas::kInitWithPrevious_SaveLayerFlag : 0)); |
19 |
24 |
20 +#if MOZ_BIG_ENDIAN |
25 +#if MOZ_BIG_ENDIAN() |
21 + // Pushing a layer where an aMask is defined produces wrong output. |
26 + // Pushing a layer where an aMask is defined produces wrong output. |
22 + // We _should_ endian swap the data, but I couldn't find a workable way to do so |
27 + // We _should_ endian swap the data, but I couldn't find a workable way to do so |
23 + // Therefore I deactivate those layers in the meantime. |
28 + // Therefore I deactivate those layers in the meantime. |
24 + // The result is: Tab-titles that are longer than the available space should be faded out. |
29 + // The result is: Tab-titles that are longer than the available space should be faded out. |
25 + // The fading doesn't work, so we deactivate the fading-effect here. |
30 + // The fading doesn't work, so we deactivate the fading-effect here. |
26 + if (!aMask) |
31 + if (!aMask) |
27 +#endif |
32 +#endif |
28 mCanvas->saveLayer(saveRec); |
33 mCanvas->saveLayer(saveRec); |
29 |
34 |
30 SetPermitSubpixelAA(aOpaque); |
35 SetPermitSubpixelAA(aOpaque); |
|
36 |
|
37 #ifdef MOZ_WIDGET_COCOA |
|
38 CGContextRelease(mCG); |
|
39 mCG = nullptr; |
|
40 #endif |