403Webshell
Server IP : 82.208.35.60  /  Your IP : 216.73.216.89
Web Server : Apache/2.4.55 (FreeBSD) OpenSSL/1.1.1q-freebsd PHP/7.3.31
System : FreeBSD server7.d2m.cz 12.4-RELEASE-p9 FreeBSD 12.4-RELEASE-p9 GENERIC amd64
User : studiokobylisy_cz ( 1008)
PHP Version : 7.3.31
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : OFF  |  Perl : OFF  |  Python : OFF  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /usr/ports/www/firefox-esr/files/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /usr/ports/www/firefox-esr/files/patch-bug1269654_comment5
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 <lsalzman@mozilla.com>
# 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;
   }
 }

Youez - 2016 - github.com/yon3zu
LinuXploit