diff --git a/debian/changelog b/debian/changelog index 6fa5e33812..83bf24552f 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,6 +1,9 @@ gtk+3.0 (3.22.1-1) UNRELEASED; urgency=medium * New upstream release. + * Drop d/p/wayland-Avoid-negative-size-constraints.patch and + d/p/wayland-always-sync-state-after-a-frame-is-painted.patch, merged + upstream. -- Michael Biebl Sat, 01 Oct 2016 14:34:59 +0200 diff --git a/debian/patches/series b/debian/patches/series index e3fd8d86bf..b0c4b40d05 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -8,6 +8,3 @@ no-accessibility-dump.patch reftest-known-fail.patch 0001-Fix-division-by-zero-when-calculating-the-refresh-ra.patch - -wayland-always-sync-state-after-a-frame-is-painted.patch -wayland-Avoid-negative-size-constraints.patch diff --git a/debian/patches/wayland-Avoid-negative-size-constraints.patch b/debian/patches/wayland-Avoid-negative-size-constraints.patch deleted file mode 100644 index 72396c96e5..0000000000 --- a/debian/patches/wayland-Avoid-negative-size-constraints.patch +++ /dev/null @@ -1,93 +0,0 @@ -From dbd0923b5f7b4a7cdea182c8d20085c013c4571c Mon Sep 17 00:00:00 2001 -From: Olivier Fourdan -Date: Tue, 27 Sep 2016 16:48:57 +0200 -Subject: [PATCH] wayland: Avoid negative size constraints - -Setting the shadow width earlier as done with commit 4cb1b96 to address -bug 771561 proved to cause unexpected side effects on size_allocate -signal propagation. - -As the window is sized correctly earlier, the size_allocate signal is -not emitted again in gtk_widget_size_allocate_with_baseline() which -prevents clutter-gtk from relocating its child widget correctly. - -To avoid this issue, revert commit 4cb1b96 but make sure the values -passed as min and max size is never negative in Wayland as this is a -protocol error. - -With this, the min/max size will be wrong for a short amount of time, -during the state transition, until the shadow width is updated from -gdk_window_set_shadow_width(). - -This approach is much safer and less intrusive than changing the -size_allocate logic in gtk. - -This reverts commit 4cb1b9645e84054c059f174240e8e288c4befe05. - -Bugzilla: https://bugzilla.gnome.org/show_bug.cgi?id=771915 ---- - gdk/wayland/gdkwindow-wayland.c | 8 ++++---- - gtk/gtkwindow.c | 14 -------------- - 2 files changed, 4 insertions(+), 18 deletions(-) - -diff --git a/gdk/wayland/gdkwindow-wayland.c b/gdk/wayland/gdkwindow-wayland.c -index fa8dbe0..f35c4c8 100644 ---- a/gdk/wayland/gdkwindow-wayland.c -+++ b/gdk/wayland/gdkwindow-wayland.c -@@ -2992,8 +2992,8 @@ gdk_wayland_window_set_geometry_hints (GdkWindow *window, - - if (geom_mask & GDK_HINT_MIN_SIZE) - { -- width = geometry->min_width - (impl->margin_left + impl->margin_right); -- height = geometry->min_height - (impl->margin_top + impl->margin_bottom); -+ width = MAX (0, geometry->min_width - (impl->margin_left + impl->margin_right)); -+ height = MAX (0, geometry->min_height - (impl->margin_top + impl->margin_bottom)); - } - else - { -@@ -3005,8 +3005,8 @@ gdk_wayland_window_set_geometry_hints (GdkWindow *window, - - if (geom_mask & GDK_HINT_MAX_SIZE) - { -- width = geometry->max_width - (impl->margin_left + impl->margin_right); -- height = geometry->max_height - (impl->margin_top + impl->margin_bottom); -+ width = MAX (0, geometry->max_width - (impl->margin_left + impl->margin_right)); -+ height = MAX (0, geometry->max_height - (impl->margin_top + impl->margin_bottom)); - } - else - { -diff --git a/gtk/gtkwindow.c b/gtk/gtkwindow.c -index 14a11c3..1a4b14b 100644 ---- a/gtk/gtkwindow.c -+++ b/gtk/gtkwindow.c -@@ -7529,19 +7529,6 @@ update_window_style_classes (GtkWindow *window) - } - - static void --update_window_borders (GtkWindow *window) --{ -- GtkWindowPrivate *priv = window->priv; -- GtkBorder window_border = { 0 }; -- -- if (priv->client_decorated && priv->use_client_shadow) -- { -- get_shadow_width (window, &window_border); -- update_shadow_width (window, &window_border); -- } --} -- --static void - popover_size_allocate (GtkWidget *widget, - GtkWindowPopover *popover, - GtkWindow *window) -@@ -7811,7 +7798,6 @@ gtk_window_state_event (GtkWidget *widget, - { - update_window_style_classes (window); - update_window_buttons (window); -- update_window_borders (window); - gtk_widget_queue_resize (widget); - } - --- -2.9.3 - diff --git a/debian/patches/wayland-always-sync-state-after-a-frame-is-painted.patch b/debian/patches/wayland-always-sync-state-after-a-frame-is-painted.patch deleted file mode 100644 index 5aae3d336b..0000000000 --- a/debian/patches/wayland-always-sync-state-after-a-frame-is-painted.patch +++ /dev/null @@ -1,43 +0,0 @@ -From 7292b035593008e79cf4aae1b8dcf0f7a83bc55f Mon Sep 17 00:00:00 2001 -From: Gustavo Noronha Silva -Date: Mon, 26 Sep 2016 10:56:42 +0200 -Subject: [PATCH] wayland: always sync state after a frame is painted - -Opaque region, margin and input region were only being synced when a cairo -paint happened. That caused GL paints to sometimes end up with bad state. -Move calls to sync state to gdk_window_impl_wayland_end_paint. - -https://bugzilla.gnome.org/show_bug.cgi?id=771553 ---- - gdk/wayland/gdkwindow-wayland.c | 8 ++++---- - 1 file changed, 4 insertions(+), 4 deletions(-) - -diff --git a/gdk/wayland/gdkwindow-wayland.c b/gdk/wayland/gdkwindow-wayland.c -index f35c4c8..7dbb979 100644 ---- a/gdk/wayland/gdkwindow-wayland.c -+++ b/gdk/wayland/gdkwindow-wayland.c -@@ -597,10 +597,6 @@ on_frame_clock_after_paint (GdkFrameClock *clock, - if (impl->pending_buffer_attached) - read_back_cairo_surface (window); - -- gdk_wayland_window_sync_margin (window); -- gdk_wayland_window_sync_opaque_region (window); -- gdk_wayland_window_sync_input_region (window); -- - /* From this commit forward, we can't write to the buffer, - * it's "live". In the future, if we need to stage more changes - * we have to allocate a new staging buffer and draw to it instead. -@@ -936,6 +932,10 @@ gdk_window_impl_wayland_end_paint (GdkWindow *window) - - impl->pending_commit = TRUE; - } -+ -+ gdk_wayland_window_sync_margin (window); -+ gdk_wayland_window_sync_opaque_region (window); -+ gdk_wayland_window_sync_input_region (window); - } - - static gboolean --- -2.9.3 -