1114
|
1 |
# HG changeset patch
|
1123
|
2 |
# Parent 883d2c7fec80b9714ccfefa461a02f5b09e3ee09
|
1114
|
3 |
Problem description: Tab-titles that are too long to fit into a tab get faded out.
|
1123
|
4 |
On big endian this is broken and instead of fading out, the
|
1114
|
5 |
tab gets white and the font transparent, leading to an unreadable
|
|
6 |
tab-title
|
|
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.
|
|
9 |
So the next best thing is to deactivate the fading-effect. Now all tab-titles
|
1123
|
10 |
are readable, albeit not as pretty to look at as they could be.
|
1114
|
11 |
Side-effects: I have not yet found an unwanted side-effect.
|
|
12 |
|
1123
|
13 |
diff --git a/gfx/2d/DrawTargetSkia.cpp b/gfx/2d/DrawTargetSkia.cpp
|
|
14 |
--- a/gfx/2d/DrawTargetSkia.cpp
|
|
15 |
+++ b/gfx/2d/DrawTargetSkia.cpp
|
|
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,
|
1114
|
22 |
SkCanvas::kPreserveLCDText_SaveLayerFlag |
|
|
23 |
(aCopyBackground ? SkCanvas::kInitWithPrevious_SaveLayerFlag : 0));
|
|
24 |
|
1122
|
25 |
+#if MOZ_BIG_ENDIAN()
|
1114
|
26 |
+ // Pushing a layer where an aMask is defined produces wrong output.
|
|
27 |
+ // We _should_ endian swap the data, but I couldn't find a workable way to do so
|
|
28 |
+ // Therefore I deactivate those layers in the meantime.
|
|
29 |
+ // The result is: Tab-titles that are longer than the available space should be faded out.
|
|
30 |
+ // The fading doesn't work, so we deactivate the fading-effect here.
|
|
31 |
+ if (!aMask)
|
|
32 |
+#endif
|
|
33 |
mCanvas->saveLayer(saveRec);
|
|
34 |
|
|
35 |
SetPermitSubpixelAA(aOpaque);
|
1123
|
36 |
|
|
37 |
#ifdef MOZ_WIDGET_COCOA
|
|
38 |
CGContextRelease(mCG);
|
|
39 |
mCG = nullptr;
|
|
40 |
#endif
|