Details
-
Bug
-
Resolution: Moved
-
Not Evaluated
-
None
-
4.6.0
-
None
-
None
Description
Steps to reproduce / test case:
Enable QWebView plugins, then show the following URL: http://www.adobe.com/software/flash/about/
Example:
#include <QApplication>
#include <QWebView>
int main(int argc, char *argv[]) {
QApplication app(argc, argv);
QWebView webView;
webView.settings()->setAttribute(QWebSettings::PluginsEnabled,true);
//webView.setUrl(QUrl::fromEncoded("http://www.google.com.au")); // Works fine.
webView.setUrl(QUrl::fromEncoded("http://www.adobe.com/software/flash/about/")); // Crashes with 4.6.0-tp1.
webView.show();
return app.exec();
}
More information:
The problem occurs on many (but not all) webpages with Flash content. Examples include:
Crash occurs on Windows XP, but not on OSX.
Crash occurs when built with, and run-time linked to, Qt 4.6.0-tp1.
Crash occurs when built with, and run-time linked to, latest git 4.6-stable (835a8e53d93f71fee0c73c3e02f73a4a01215d60).
Interestingly, the crash does not occur if the example is built with 4.6.0, but runs with 4.5.x DLLs.
All Qt 4.6.0 versions were build via:
make confclean
configure -debug-and-release -opensource -no-exceptions -no-qt3support -openssl-linked OPENSSL_LIBS="-lssl -lcrypto -lgdi32 -lWs2_32" -I C:\OpenSSL\include -L C:\OpenSSL\lib
make -j2 sub-src
Qt Creator's debugger shows that the crash is somewhere in WebCore::PluginView::hookedBeginPaint.
Example crash debug stack:
0 ?? 0
1 WebCore::PluginView::hookedBeginPaint D:\Qt\4.6.0-tp1-dynamic\bin\QtWebKitd4.dll 0
2 npswf32!Flash_DisableLocalSecurity C:\WINDOWS\system32\macromed\Flash\NPSWF32.dll 0
3 ?? 0
4 ?? 0
5 ?? 0
6 ?? 0
7 ?? 0
8 ?? 0
9 ?? 0
10 ?? 0
11 ?? 0
12 ?? 0
13 ?? 0
14 ?? 0
I'm using gcc 3.4.5 (the latest "official" version that ships with MinGW's auto installer).