Bug 36640
| Summary: | [GTK] Crash when viewing Flash when GtkWindow has an RGBA colormap | ||
|---|---|---|---|
| Product: | WebKit | Reporter: | kerpz |
| Component: | Plug-ins | Assignee: | Nobody <webkit-unassigned> |
| Status: | RESOLVED INVALID | ||
| Severity: | Normal | CC: | mrobinson, nicolas, zaheer.mot |
| Priority: | P2 | ||
| Version: | 528+ (Nightly build) | ||
| Hardware: | PC | ||
| OS: | Linux | ||
| URL: | http://www.kirupa.com/developer/mx/transparency.htm | ||
kerpz
Provided the link above the right click functions doesn't work (minor issue).
Another thing is, when loading it with my webkitgtk app with "transparency enabled" crashes with these message:
[root@development mywebkit]# ./test
The program 'test' received an X Window System error.
This probably reflects a bug in the program.
The error was 'BadMatch (invalid parameter attributes)'.
(Details: serial 1010 error_code 8 request_code 140 minor_code 3)
(Note to programmers: normally, X errors are reported asynchronously;
that is, you will receive the error a while after causing it.
To debug your program, run it with the --sync command line
option to change this behavior. You can then get a meaningful
backtrace from your debugger if you break on the gdk_x_error() function.)
//////////////////// snippet start here //////////////////////////
GdkScreen *screen = gtk_widget_get_screen(main_window);
/* -- commented to avoid crashing the app --
GdkColormap *rgba = gdk_screen_get_rgba_colormap(screen);
if (rgba && gdk_screen_is_composited (screen))
{
gtk_widget_set_default_colormap(rgba);
gtk_widget_set_colormap(GTK_WIDGET(main_window), rgba);
}
*/
// Create a WebView, set it transparent, add it to the window
//WebKitWebView* web_view = WEBKIT_WEB_VIEW(webkit_web_view_new());
webkit_web_view_set_transparent(WEBKIT_WEB_VIEW(web_view), TRUE);
//////////////////// snippet end here //////////////////////////
as you can see I commented the app transparency to avoid the crashing
is this fixable?
Thanks and Regards,
Philip B.
| Attachments | ||
|---|---|---|
| Add attachment proposed patch, testcase, etc. |
Martin Robinson
Is it possible for you to get a stack trace for this crash?
zaheer
I dont see the crash on the trunk - 66582
kerpz
The crash still occurs, im using trunk 67940
How to reproduce the crash:
Create a simple application with compositing enable, for alpha blending.
Plugin: adobe flash player 10 for linux
//////////////////// snippet start here //////////////////////////
....
GdkScreen *screen = gtk_widget_get_screen(main_window);
GdkColormap *rgba = gdk_screen_get_rgba_colormap(screen);
if (rgba && gdk_screen_is_composited (screen))
{
gtk_widget_set_default_colormap(rgba);
gtk_widget_set_colormap(GTK_WIDGET(main_window), rgba);
}
webkit_web_view_set_transparent(WEBKIT_WEB_VIEW(web_view), TRUE);
// fullscreen
gint width = gdk_screen_get_width(screen);
gint height = gdk_screen_get_height(screen);
gtk_window_set_default_size(GTK_WINDOW(main_window), width, height);
gchar* uri = (gchar*) (argc > 1 ? argv[1] : "http://www.kirupa.com/developer/mx/transparency.htm");
webkit_web_view_load_uri (web_view, uri);
....
//////////////////// snippet end here //////////////////////////
Note: It will load normal pages without flash content.
Regards,
Philip B.
kerpz
I figured out what causes the crash, adobe flash player doesn't use RGBA colormap.
Martin Robinson
The GTK+ port of WebKit1 has been removed. Please reopen if this is still an issue with WebKit2.