Re: Heads-up: Potentially breaking changes to the GDK drawing model pushed
- From: Morten Welinder <mortenw gnome org>
- To: "Jasper St. Pierre" <jstpierre mecheye net>
- Cc: gtk-devel-list <gtk-devel-list gnome org>
- Subject: Re: Heads-up: Potentially breaking changes to the GDK drawing model pushed
- Date: Sat, 21 Jun 2014 08:02:10 -0400
Argh!
Will the stream of ABI changes never end?
Gnumeric uses this to provide a walking-ant cursor large selected areas -- areas
too big for processing in the normal paint loop.
Morten
On Fri, Jun 20, 2014 at 9:00 PM, Jasper St. Pierre
<jstpierre mecheye net> wrote:
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
_______________________________________________
gtk-devel-list mailing list
gtk-devel-list gnome org
https://mail.gnome.org/mailman/listinfo/gtk-devel-list
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]