.h ++++ gfx/2d/HelpersCairo.h +@@ -185,7 +185,11 @@ static inline cairo_content_t GfxFormatToCairoContent(SurfaceFormat format) { + case SurfaceFormat::A8: + return CAIRO_CONTENT_ALPHA; + default: +- gfxCriticalError() << "Unknown image content format " << (int)format; ++ if (format == SurfaceFormat::B8G8R8X8) { ++ return CAIRO_CONTENT_COLOR; ++ } else if (format != SurfaceFormat::B8G8R8A8) { ++ gfxCriticalError() << "Unknown image content format " << (int)format; ++ } + return CAIRO_CONTENT_COLOR_ALPHA; + } + } diff --git a/www/waterfox/files/patch-bug1269654_comment5 b/www/waterfox/files/patch-bug1269654_comment5 deleted file mode 100644 index 0aa2d639d352..000000000000 --- a/www/waterfox/files/patch-bug1269654_comment5 +++ /dev/null @@ -1,43 +0,0 @@ -https://bugzilla.mozilla.org/show_bug.cgi?id=1269654#c5 -https://bug1269654.bmoattachments.org/attachment.cgi?id=8749234 -handle big-endian formats in Cairo format conversions - -# HG changeset patch -# User Lee Salzman -# Date 1462463631 14400 -# Thu May 05 11:53:51 2016 -0400 -# Node ID 8da374804a09977c8f89af5e6e0cb37cb074595d -# Parent 29662e28a9c93ac67ee0b8ddfb65a9f29bbf73f5 -handle big-endian formats in Cairo format conversions - ---- gfx/2d/HelpersCairo.h.orig 2019-12-02 17:51:16.633474000 +0100 -+++ gfx/2d/HelpersCairo.h 2019-12-02 17:52:44.939998000 +0100 -@@ -147,7 +147,14 @@ static inline cairo_format_t GfxFormatToCairoFormat(Su - case SurfaceFormat::R5G6B5_UINT16: - return CAIRO_FORMAT_RGB16_565; - default: -- gfxCriticalError() << "Unknown image format " << (int)format; -+ // _UINT32 formats don't match B8G8R8[AX]8 on big-endian platforms, -+ // and Moz2d uses B8G8R8[AX]8 as if it was _UINT32. -+ // See bug 1269654 -+ if (format == SurfaceFormat::B8G8R8X8) { -+ return CAIRO_FORMAT_RGB24; -+ } else if (format != SurfaceFormat::B8G8R8A8) { -+ gfxCriticalError() << "Unknown image format " << (int)format; -+ } - return CAIRO_FORMAT_ARGB32; - } - } -@@ -177,7 +184,11 @@ static inline cairo_content_t GfxFormatToCairoContent( - case SurfaceFormat::A8: - return CAIRO_CONTENT_ALPHA; - default: -- gfxCriticalError() << "Unknown image content format " << (int)format; -+ if (format == SurfaceFormat::B8G8R8X8) { -+ return CAIRO_CONTENT_COLOR; -+ } else if (format != SurfaceFormat::B8G8R8A8) { -+ gfxCriticalError() << "Unknown image content format " << (int)format; -+ } - return CAIRO_CONTENT_COLOR_ALPHA; - } - }