[SCM] WebKit Debian packaging branch, webkit-1.3, updated. upstream/1.3.7-4207-g178b198

carlosgc at webkit.org carlosgc at webkit.org
Sun Feb 20 23:47:52 UTC 2011


The following commit has been merged in the webkit-1.3 branch:
commit 96982e93b59bacf86d9bd0d296422523bdffe8dd
Author: carlosgc at webkit.org <carlosgc at webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Tue Jan 25 08:43:48 2011 +0000

    2011-01-25  Carlos Garcia Campos  <cgarcia at igalia.com>
    
            Reviewed by Martin Robinson.
    
            [GTK] Crash in some pages containing flash
            https://bugs.webkit.org/show_bug.cgi?id=53016
    
            Flash plugin can produce X errors that are handled by the GDK X
            error handler, which exits the process. Since we don't want to
            crash due to flash bugs, we install a custom error handler to show
            a warning when a X error happens without aborting.
    
            * plugins/gtk/PluginPackageGtk.cpp:
            (WebCore::webkitgtkXError):
            (WebCore::PluginPackage::load):
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@76578 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/Source/WebCore/ChangeLog b/Source/WebCore/ChangeLog
index 0d48edb..da3c8c9 100644
--- a/Source/WebCore/ChangeLog
+++ b/Source/WebCore/ChangeLog
@@ -2,6 +2,22 @@
 
         Reviewed by Martin Robinson.
 
+        [GTK] Crash in some pages containing flash
+        https://bugs.webkit.org/show_bug.cgi?id=53016
+
+        Flash plugin can produce X errors that are handled by the GDK X
+        error handler, which exits the process. Since we don't want to
+        crash due to flash bugs, we install a custom error handler to show
+        a warning when a X error happens without aborting.
+
+        * plugins/gtk/PluginPackageGtk.cpp:
+        (WebCore::webkitgtkXError):
+        (WebCore::PluginPackage::load):
+
+2011-01-25  Carlos Garcia Campos  <cgarcia at igalia.com>
+
+        Reviewed by Martin Robinson.
+
         [GTK] Implement spin buttons in RenderThemeGtk
         https://bugs.webkit.org/show_bug.cgi?id=51454
 
diff --git a/Source/WebCore/plugins/gtk/PluginPackageGtk.cpp b/Source/WebCore/plugins/gtk/PluginPackageGtk.cpp
index a702296..26409a7 100644
--- a/Source/WebCore/plugins/gtk/PluginPackageGtk.cpp
+++ b/Source/WebCore/plugins/gtk/PluginPackageGtk.cpp
@@ -104,6 +104,22 @@ bool PluginPackage::fetchInfo()
 #endif
 }
 
+#if defined(XP_UNIX)
+static int webkitgtkXError(Display* xdisplay, XErrorEvent* error)
+{
+    gchar errorMessage[64];
+    XGetErrorText(xdisplay, error->error_code, errorMessage, 63);
+    g_warning("The program '%s' received an X Window System error.\n"
+              "This probably reflects a bug in the Adobe Flash plugin.\n"
+              "The error was '%s'.\n"
+              "  (Details: serial %ld error_code %d request_code %d minor_code %d)\n",
+              g_get_prgname(), errorMessage,
+              error->serial, error->error_code,
+              error->request_code, error->minor_code);
+    return 0;
+}
+#endif
+
 bool PluginPackage::load()
 {
     if (m_isLoaded) {
@@ -137,6 +153,15 @@ bool PluginPackage::load()
 
     m_isLoaded = true;
 
+#if defined(XP_UNIX)
+    if (!g_strcmp0(baseName.get(), "libflashplayer.so")) {
+        // Flash plugin can produce X errors that are handled by the GDK X error handler, which
+        // exits the process. Since we don't want to crash due to flash bugs, we install a
+        // custom error handler to show a warning when a X error happens without aborting.
+        XSetErrorHandler(webkitgtkXError);
+    }
+#endif
+
     NP_InitializeFuncPtr NP_Initialize = 0;
     m_NPP_Shutdown = 0;
 

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list