Package: iceweasel Version: 44.0-1 Severity: normal Tags: patch Forwarded: https://bugzilla.mozilla.org/show_bug.cgi?id=1222171
Dear Maintainer, iceweasel 44.0-1 crashes on startup with VNC. > Crash Annotation GraphicsCriticalError: |[0][GFX1]: Unknown cairo format > 3[GFX1]: Unknown cairo format 3 > segmentation fault (core dumped) iceweasel iceweasel 43.0.4-1 is ok. GraphicsCriticalError: |[0][GFX1]: Unknown cairo format 3 https://bugs.launchpad.net/ubuntu/+source/firefox/+bug/1538724 "GraphicsCriticalError: |[0][GFX1]: Unknown cairo format 3" on startup on Linux machine with VNC "screen" https://bugzilla.mozilla.org/show_bug.cgi?id=1222171 rebuilt with upstream patch https://hg.mozilla.org/try/raw-rev/79382e397d1d , iceweasel startup normally with VNC. -- Regards, dai GPG Fingerprint = 0B29 D88E 42E6 B765 B8D8 EA50 7839 619D D439 668E -- System Information: Debian Release: stretch/sid APT prefers unstable APT policy: (500, 'unstable'), (500, 'testing'), (500, 'stable'), (1, 'experimental') Architecture: amd64 (x86_64) Foreign Architectures: i386 Kernel: Linux 4.3.0-1-amd64 (SMP w/8 CPU cores) Locale: LANG=ja_JP.UTF-8, LC_CTYPE=ja_JP.UTF-8 (charmap=UTF-8) (ignored: LC_ALL set to ja_JP.UTF-8) Shell: /bin/sh linked to /bin/dash Init: systemd (via /run/systemd/system) Versions of packages iceweasel depends on: ii debianutils 4.7 ii fontconfig 2.11.0-6.3 ii libasound2 1.0.29-1 ii libatk1.0-0 2.18.0-1 ii libc6 2.21-7 ii libcairo2 1.14.6-1 ii libdbus-1-3 1.10.6-1 ii libdbus-glib-1-2 0.106-1 ii libevent-2.0-5 2.0.21-stable-2+b1 ii libffi6 3.2.1-4 ii libfontconfig1 2.11.0-6.3 ii libfreetype6 2.6.1-0.1 ii libgcc1 1:5.3.1-7 ii libgdk-pixbuf2.0-0 2.32.3-1.2 ii libglib2.0-0 2.46.2-3 ii libgtk2.0-0 2.24.29-1 ii libhunspell-1.3-0 1.3.3-3+b2 ii libnspr4 2:4.11-1 ii libnss3 2:3.21-1 ii libpango-1.0-0 1.38.1-1 ii libsqlite3-0 3.10.2-1 ii libstartup-notification0 0.12-4 ii libstdc++6 5.3.1-7 ii libvpx3 1.5.0-2 ii libx11-6 2:1.6.3-1 ii libxcomposite1 1:0.4.4-1 ii libxdamage1 1:1.1.4-2+b1 ii libxext6 2:1.3.3-1 ii libxfixes3 1:5.0.1-2+b2 ii libxrender1 1:0.9.9-2 ii libxt6 1:1.1.5-1 ii procps 2:3.3.11-3 ii zlib1g 1:1.2.8.dfsg-2+b1 Versions of packages iceweasel recommends: pn gstreamer1.0-libav <none> ii gstreamer1.0-plugins-good 1.6.3-1 Versions of packages iceweasel suggests: pn fonts-lmodern <none> pn fonts-stix | otf-stix <none> ii libcanberra0 0.30-2.1 pn libgnomeui-0 <none> ii libgssapi-krb5-2 1.13.2+dfsg-4 pn mozplugger <none> -- no debconf information
# HG changeset patch # User Nicholas Nethercote <nnetherc...@mozilla.com> # Date 1447161392 -3600 # Node ID 79382e397d1d7ca352e4480548af4efa083d423b # Parent c492cddc3f2f0578d1cfcf12f54482cb79f9b07f Bug 1222171 - Re-establish equivalence between gfxImageFormat and cairo_format_t. r=mstange. 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). diff --git a/gfx/thebes/gfxTypes.h b/gfx/thebes/gfxTypes.h --- a/gfx/thebes/gfxTypes.h +++ b/gfx/thebes/gfxTypes.h @@ -42,34 +42,38 @@ enum class gfxBreakPriority { eNoBreak = 0, eWordWrapBreak, eNormalBreak }; /** * 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) enum class gfxSurfaceType { Image, PDF, PS, Xlib,
signature.asc
Description: PGP signature