Bug 21197
Summary: | SVN trunk (Revision: 36997) crashes after loading Flash Plugin | ||
---|---|---|---|
Product: | WebKit | Reporter: | Vitaly Davidenko <vdavidenko> |
Component: | WebKitGTK | Assignee: | Nobody <webkit-unassigned> |
Status: | RESOLVED FIXED | ||
Severity: | Normal | CC: | alp, vdavidenko |
Priority: | P1 | ||
Version: | 528+ (Nightly build) | ||
Hardware: | PC | ||
OS: | Linux | ||
URL: | http://youtube.com |
Vitaly Davidenko
In the file WebCore/plugins/gtk/PluginViewGtk.cpp the function PluginView::init() crashes on the line
'ws->display = GDK_WINDOW_XDISPLAY(platformPluginWidget()->window);'
because of the platformPluginWidget()->window is 0.
Looks like the init code is expecting not null containingWindow() on the line
'gtk_container_add(GTK_CONTAINER(containingWindow()), platformPluginWidget());'
I have modified the file WebCore/platform/ScrollView.cpp as a workaround(not tested, only to provide correct value of containingWindow() ). After modification below, flash is displayed.
$ svn diff WebCore/platform/ScrollView.cpp
Index: WebCore/platform/ScrollView.cpp
===================================================================
--- WebCore/platform/ScrollView.cpp (revision 36997)
+++ WebCore/platform/ScrollView.cpp (working copy)
@@ -43,12 +43,12 @@
void ScrollView::addChild(Widget* child)
{
ASSERT(child != this && !child->parent());
- child->setParent(this);
- m_children.add(child);
if (!child->platformWidget()) {
child->setContainingWindow(containingWindow());
- return;
+// return;
}
+ child->setParent(this);
+ m_children.add(child);
platformAddChild(child);
}
Attachments | ||
---|---|---|
Add attachment proposed patch, testcase, etc. |
Alp Toker
There was a related fix in r37447 but that may not fix the reported issue.
Is this still reproducible on trunk?
Vitaly Davidenko
(In reply to comment #1)
> There was a related fix in r37447 but that may not fix the reported issue.
>
> Is this still reproducible on trunk?
>
This is not reproducible on Revision: 38244
Web pages with flash content are loaded successfully (using Adobe flash player version 10).