diff -Nru firefox-44.0+build3/debian/changelog firefox-44.0+build3/debian/changelog --- firefox-44.0+build3/debian/changelog 2016-01-25 16:47:20.000000000 +0100 +++ firefox-44.0+build3/debian/changelog 2016-01-28 14:21:18.000000000 +0100 @@ -1,3 +1,10 @@ +firefox (44.0+build3-0ubuntu3) xenial; urgency=medium + + * Re-establish equivalence between gfxImageFormat and cairo_format_t. + (LP: #1538724) + + -- Dariusz Gadomski Thu, 28 Jan 2016 14:20:47 +0100 + firefox (44.0+build3-0ubuntu2) xenial; urgency=medium * Fix webrtc build on AArch64. diff -Nru firefox-44.0+build3/debian/patches/lp1538724.patch firefox-44.0+build3/debian/patches/lp1538724.patch --- firefox-44.0+build3/debian/patches/lp1538724.patch 1970-01-01 01:00:00.000000000 +0100 +++ firefox-44.0+build3/debian/patches/lp1538724.patch 2016-01-28 14:25:24.000000000 +0100 @@ -0,0 +1,52 @@ +Description: Re-establish equivalence between gfxImageFormat and cairo_format_t. + It would be nice to add static assertions for this equivalence but I don't want + to have to include cairo.h in gfxTypes.h. (Indeed, that's why + gfxImageFormatToCairoFormat and gfxCairoFormatToImageFormat are macros in the + first place). + . + firefox (44.0+build3-0ubuntu3) xenial; urgency=medium + . + * Re-establish equivalence between gfxImageFormat and cairo_format_t. + (LP: #1538724) +Author: Nicholas Nethercote +Bug-Ubuntu: https://bugs.launchpad.net/bugs/1538724 +Bug: https://bugzilla.mozilla.org/show_bug.cgi?id=1222171 +Origin: upstream, https://hg.mozilla.org/try/rev/79382e397d1d + +--- firefox-44.0+build3.orig/gfx/thebes/gfxTypes.h ++++ firefox-44.0+build3/gfx/thebes/gfxTypes.h +@@ -47,24 +47,28 @@ enum class gfxBreakPriority { + /** + * The format for an image surface. For all formats with alpha data, 0 + * means transparent, 1 or 255 means fully opaque. ++ * ++ * XXX: it's vital that the values here match the values in cairo_format_t, ++ * otherwise gfxCairoFormatToImageFormat() and gfxImageFormatToCairoFormat() ++ * won't work. + */ + enum class gfxImageFormat { +- ARGB32, ///< ARGB data in native endianness, using premultiplied alpha +- RGB24, ///< xRGB data in native endianness +- A8, ///< Only an alpha channel +- RGB16_565, ///< RGB_565 data in native endianness ++ ARGB32 = 0, ///< ARGB data in native endianness, using premultiplied alpha ++ RGB24 = 1, ///< xRGB data in native endianness ++ A8 = 2, ///< Only an alpha channel ++ RGB16_565 = 4, ///< RGB_565 data in native endianness + Unknown + }; + + // XXX: temporary + // This works because the gfxImageFormat enum is defined so as to match the +-// _cairo_format enum. ++// cairo_format_t enum. + #define gfxCairoFormatToImageFormat(aFormat) \ + ((gfxImageFormat)aFormat) + + // XXX: temporary + // This works because the gfxImageFormat enum is defined so as to match the +-// _cairo_format enum. ++// cairo_format_t enum. + #define gfxImageFormatToCairoFormat(aFormat) \ + ((cairo_format_t)aFormat) + diff -Nru firefox-44.0+build3/debian/patches/series firefox-44.0+build3/debian/patches/series --- firefox-44.0+build3/debian/patches/series 2016-01-25 16:45:25.000000000 +0100 +++ firefox-44.0+build3/debian/patches/series 2016-01-28 14:23:10.000000000 +0100 @@ -26,3 +26,4 @@ disable-geo-specific-search-defaults-for-us.patch cleanup-geo-specific-search-defaults.patch webrtc-aarch64.diff +lp1538724.patch