Go to:
Gentoo Home
Documentation
Forums
Lists
Bugs
Planet
Store
Wiki
Get Gentoo!
Gentoo's Bugzilla – Attachment 242337 Details for
Bug 332155
[PATCH] x11-libs/qt-webkit-4.6.3: Segfault with Flash Player 10.1
Home
|
New
–
[Ex]
|
Browse
|
Search
|
Privacy Policy
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
Patch
qt-webkit-4.6.3-flash-plugin-segfault.patch (text/plain), 1.75 KB, created by
Christoph Erhardt
on 2010-08-10 22:31:56 UTC
(
hide
)
Description:
Patch
Filename:
MIME Type:
Creator:
Christoph Erhardt
Created:
2010-08-10 22:31:56 UTC
Size:
1.75 KB
patch
obsolete
>This patch fixes WebKit Bug 40567: [Qt] QtWebKit crashes while initializing >flash plugin 10.1.53.64... >https://bugs.webkit.org/show_bug.cgi?id=40567 > >--- src/3rdparty/webkit/WebCore/plugins/qt/PluginPackageQt.cpp >+++ src/3rdparty/webkit/WebCore/plugins/qt/PluginPackageQt.cpp >@@ -35,4 +35,6 @@ > > namespace WebCore { >+ >+typedef void gtkInitFunc(int *argc, char ***argv); > > bool PluginPackage::fetchInfo() >@@ -110,4 +112,5 @@ > NP_InitializeFuncPtr NP_Initialize; > NPError npErr; >+ gtkInitFunc* gtkInit; > > NP_Initialize = (NP_InitializeFuncPtr)m_module->resolve("NP_Initialize"); >@@ -126,4 +129,24 @@ > // It does so in NP_Initialize with a null instance, therefore it is done this way: > m_browserFuncs.getvalue = staticPluginQuirkRequiresGtkToolKit_NPN_GetValue; >+ } >+ >+ // WORKAROUND: Prevent gtk based plugin crashes such as BR# 40567 by >+ // explicitly forcing the initializing of Gtk, i.e. calling gtk_init, >+ // whenver the symbol is present in the plugin library loaded above. >+ // Note that this workaround is based on code from the NSPluginClass ctor >+ // in KDE's kdebase/apps/nsplugins/viewer/nsplugin.cpp file. >+ gtkInit = (gtkInitFunc*)m_module->resolve("gtk_init"); >+ if (gtkInit) { >+ // Prevent gtk_init() from replacing the X error handlers, since the Gtk >+ // handlers abort when they receive an X error, thus killing the viewer. >+#ifdef Q_WS_X11 >+ int (*old_error_handler)(Display*, XErrorEvent*) = XSetErrorHandler(0); >+ int (*old_io_error_handler)(Display*) = XSetIOErrorHandler(0); >+#endif >+ gtkInit(0, 0); >+#ifdef Q_WS_X11 >+ XSetErrorHandler(old_error_handler); >+ XSetIOErrorHandler(old_io_error_handler); >+#endif > }
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 332155
: 242337 |
242339