Bug 77760 - GtkLauncher.exe doesn't draw anything in its webkitwebview
Summary: GtkLauncher.exe doesn't draw anything in its webkitwebview
Status: RESOLVED DUPLICATE of bug 77743
Alias: None
Product: WebKit
Classification: Unclassified
Component: WebKitGTK (show other bugs)
Version: 528+ (Nightly build)
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Nobody
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2012-02-03 11:49 PST by Kalev Lember
Modified: 2012-02-04 11:32 PST (History)
0 users

See Also:


Attachments
Create the backing store after WebKitWebView is realized (3.51 KB, patch)
2012-02-03 11:50 PST, Kalev Lember
no flags Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Kalev Lember 2012-02-03 11:49:16 PST
On Windows, GtkLauncher.exe starts up with two

Gdk-CRITICAL **: IA__gdk_window_create_similar_surface: assertion `GDK_IS_WINDOW (window)' failed

warnings, and doesn't draw anything in its WebKitWebView. This is coming from createSurfaceForBackingStore() in WidgetBackingStoreCairo.cpp, which tries to call gtk_widget_get_window() before the widget is realized.
Comment 1 Kalev Lember 2012-02-03 11:50:41 PST
Created attachment 125378 [details]
Create the backing store after WebKitWebView is realized

The widget backing store was created in size_allocate() before the
widget was realized. This wasn't a problem for GtkWidgetBackingStoreX11,
but WidgetBackingStoreCairo's constructor needs the widget's GDK window,
which is is created in realize().

Fixes the WebKitWebView not painting on platforms that use
WidgetBackingStoreCairo, e.g. win32.

Gdk-CRITICAL **: IA__gdk_window_create_similar_surface: assertion `GDK_IS_WINDOW (window)' failed
Comment 2 Martin Robinson 2012-02-03 12:59:48 PST
Comment on attachment 125378 [details]
Create the backing store after WebKitWebView is realized

Please check if my patch at https://bugs.webkit.org/show_bug.cgi?id=77743 fixes this issue. It should delay the backing store creation until mapping.
Comment 3 Kalev Lember 2012-02-03 13:55:34 PST
I can confirm that the patch in bug 77743 also fixes it, thanks!

*** This bug has been marked as a duplicate of bug 77743 ***