[webkit-gtk] Fwd: Heads-up: Potentially breaking changes to the GDK drawing model pushed

Sergio Villar Senin svillar at igalia.com
Mon Jun 23 02:17:39 PDT 2014


We should double check if we're affected by this. Surely the extra
double-buffering removal will benefit us, won't it?

BR


-------- Forwarded Message --------
Subject: 	Heads-up: Potentially breaking changes to the GDK drawing
model pushed
Date: 	Fri, 20 Jun 2014 21:00:19 -0400
From: 	Jasper St. Pierre <jstpierre at mecheye.net>
To: 	gtk-devel-list <gtk-devel-list at gnome.org>



To better support Wayland with fewer copies and less drawing artifacts,
I've pushed some potentially breaking changes to GDK, namely around
gdk_cairo_create and gdk_window_begin_paint_region.

https://git.gnome.org/browse/gtk+/commit/?id=d48adf9cee7e340acd7f8b9a5f9716695352b848
https://git.gnome.org/browse/gtk+/commit/?id=be30e440c350f0f3e0f2572f7f3eab54ef96af0e

With these changes, it is now illegal to call gdk_cairo_create outside
of a begin_paint / end_paint. This was always sketchy, and would never
work on Wayland anyway. If your code does this, we will print a warning
and return a dummy surface which won't ever be composited back into the
main surface.

Additionally, it is now forbidden to call gdk_window_begin_paint_region
more than once. Previously, the code had a "paint stack" which tracked
paints, but since GTK+ never used this codepath it was never actually
tested and was indeed broken on Wayland due to the way the Wayland
backend was written. Again, we will print a warning in this case and return.

As part of these changes, gtk_widget_set_double_buffered was deprecated
and removed. Again, it will never work on Wayland, as that is natively
double-buffered, and it would simply break there.

I tested with some local big applications like Ardour and the GNOME
applications, but don't have a GTK+3 build of Firefox, LibreOffice,
Eclipse, or any big GTK+ apps like Inkscape or The GIMP.

Please double-check to make sure your apps still work fine. If you have
a problem with any of this or I broke your apps by accident, please
reply and I'll try to fix it.

Thanks!

-- 
  Jasper


-------------- next part --------------
_______________________________________________
gtk-devel-list mailing list
gtk-devel-list at gnome.org
https://mail.gnome.org/mailman/listinfo/gtk-devel-list



More information about the webkit-gtk mailing list