Title: [189912] trunk/Source/WebKit2
- Revision
- 189912
- Author
- mcatanz...@igalia.com
- Date
- 2015-09-17 06:00:48 -0700 (Thu, 17 Sep 2015)
Log Message
[GTK] Crash in WebKit::BackingStore::createBackend running under Wayland
https://bugs.webkit.org/show_bug.cgi?id=147453
Reviewed by Carlos Garcia Campos.
Except when running on X11, this function always crashes if called before the web view is
realized, as gdk_window_create_similar_surface will return null in that case. Avoid this by
simply realizing the widget before calling that.
Thanks to Carlos Garnacho for some debugging help.
* UIProcess/cairo/BackingStoreCairo.cpp:
(WebKit::BackingStore::createBackend):
Modified Paths
Diff
Modified: trunk/Source/WebKit2/ChangeLog (189911 => 189912)
--- trunk/Source/WebKit2/ChangeLog 2015-09-17 12:13:30 UTC (rev 189911)
+++ trunk/Source/WebKit2/ChangeLog 2015-09-17 13:00:48 UTC (rev 189912)
@@ -1,3 +1,19 @@
+2015-09-17 Michael Catanzaro <mcatanz...@igalia.com>
+
+ [GTK] Crash in WebKit::BackingStore::createBackend running under Wayland
+ https://bugs.webkit.org/show_bug.cgi?id=147453
+
+ Reviewed by Carlos Garcia Campos.
+
+ Except when running on X11, this function always crashes if called before the web view is
+ realized, as gdk_window_create_similar_surface will return null in that case. Avoid this by
+ simply realizing the widget before calling that.
+
+ Thanks to Carlos Garnacho for some debugging help.
+
+ * UIProcess/cairo/BackingStoreCairo.cpp:
+ (WebKit::BackingStore::createBackend):
+
2015-09-16 Carlos Garcia Campos <cgar...@igalia.com>
printing does not use minimum page zoom factor
Modified: trunk/Source/WebKit2/UIProcess/cairo/BackingStoreCairo.cpp (189911 => 189912)
--- trunk/Source/WebKit2/UIProcess/cairo/BackingStoreCairo.cpp 2015-09-17 12:13:30 UTC (rev 189911)
+++ trunk/Source/WebKit2/UIProcess/cairo/BackingStoreCairo.cpp 2015-09-17 13:00:48 UTC (rev 189912)
@@ -63,7 +63,9 @@
scaledSize.scale(m_deviceScaleFactor);
#if PLATFORM(GTK)
- RefPtr<cairo_surface_t> surface = adoptRef(gdk_window_create_similar_surface(gtk_widget_get_window(m_webPageProxy.viewWidget()),
+ GtkWidget* viewWidget = m_webPageProxy.viewWidget();
+ gtk_widget_realize(viewWidget);
+ RefPtr<cairo_surface_t> surface = adoptRef(gdk_window_create_similar_surface(gtk_widget_get_window(viewWidget),
CAIRO_CONTENT_COLOR_ALPHA, scaledSize.width(), scaledSize.height()));
#else
RefPtr<cairo_surface_t> surface = adoptRef(cairo_image_surface_create(CAIRO_FORMAT_ARGB32, scaledSize.width(), scaledSize.height()));
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes