summaryrefslogtreecommitdiff
path: root/mozilla-1623106.patch
diff options
context:
space:
mode:
authorMartin Stransky <stransky@redhat.com>2020-03-18 21:51:06 +0100
committerMartin Stransky <stransky@redhat.com>2020-03-18 21:51:06 +0100
commitb7fec52e4dca460b3fe249db5cd43b49d799b6e4 (patch)
tree2f712645ca7c9dc99e9e7115b4a3d8e580685bf9 /mozilla-1623106.patch
parentrelease up (diff)
downloadlibrewolf-fedora-ff-b7fec52e4dca460b3fe249db5cd43b49d799b6e4.tar.gz
librewolf-fedora-ff-b7fec52e4dca460b3fe249db5cd43b49d799b6e4.tar.bz2
librewolf-fedora-ff-b7fec52e4dca460b3fe249db5cd43b49d799b6e4.zip
updated mozilla-1623106.patch
Diffstat (limited to 'mozilla-1623106.patch')
-rw-r--r--mozilla-1623106.patch49
1 files changed, 45 insertions, 4 deletions
diff --git a/mozilla-1623106.patch b/mozilla-1623106.patch
index dace4c6..05dde70 100644
--- a/mozilla-1623106.patch
+++ b/mozilla-1623106.patch
@@ -1,16 +1,22 @@
-changeset: 520675:823e745af09e
+changeset: 521153:1bef33e1956a
tag: tip
+parent: 521144:5bfecf5aff6d
user: Martin Stransky <stransky@redhat.com>
-date: Tue Mar 17 21:27:52 2020 +0100
+date: Tue Mar 17 21:22:44 2020 +0100
files: widget/gtk/nsWindow.cpp
description:
-dd2
+Bug 1623106 [Linux/Gtk] Don't use window resize workaround for Gtk >= 3.24, r?jhorak
+
+We have a workaround for https://gitlab.gnome.org/GNOME/gtk/issues/1044 which is already fixed
+in Gtk 3.24 and causes resize regression there so let's remove it.
+
+Differential Revision: https://phabricator.services.mozilla.com/D67387
diff --git a/widget/gtk/nsWindow.cpp b/widget/gtk/nsWindow.cpp
--- a/widget/gtk/nsWindow.cpp
+++ b/widget/gtk/nsWindow.cpp
-@@ -2740,16 +2739,18 @@ void nsWindow::OnContainerUnrealize() {
+@@ -2739,16 +2739,18 @@ void nsWindow::OnContainerUnrealize() {
}
}
@@ -29,4 +35,39 @@ diff --git a/widget/gtk/nsWindow.cpp b/widget/gtk/nsWindow.cpp
// Invalidate the new part of the window now for the pending paint to
// minimize background flashes (GDK does not do this for external resizes
+@@ -3524,23 +3526,27 @@ void nsWindow::OnWindowStateEvent(GtkWid
+ // maximized state, we hide the GDK_WINDOW_STATE_MAXIMIZED change from
+ // gtk_window_state_event() so as to trick GTK into using the values from
+ // gtk_window_resize() in its configure request.
+ //
+ // We instead notify gtk_window_state_event() of the maximized state change
+ // once the window is shown.
+ //
+ // See https://gitlab.gnome.org/GNOME/gtk/issues/1044
+- if (!mIsShown) {
+- aEvent->changed_mask = static_cast<GdkWindowState>(
+- aEvent->changed_mask & ~GDK_WINDOW_STATE_MAXIMIZED);
+- } else if (aEvent->changed_mask & GDK_WINDOW_STATE_WITHDRAWN &&
+- aEvent->new_window_state & GDK_WINDOW_STATE_MAXIMIZED) {
+- aEvent->changed_mask = static_cast<GdkWindowState>(
+- aEvent->changed_mask | GDK_WINDOW_STATE_MAXIMIZED);
++ //
++ // This is fixed in Gtk 3.24+
++ if (gtk_check_version(3, 24) != nullptr) {
++ if (!mIsShown) {
++ aEvent->changed_mask = static_cast<GdkWindowState>(
++ aEvent->changed_mask & ~GDK_WINDOW_STATE_MAXIMIZED);
++ } else if (aEvent->changed_mask & GDK_WINDOW_STATE_WITHDRAWN &&
++ aEvent->new_window_state & GDK_WINDOW_STATE_MAXIMIZED) {
++ aEvent->changed_mask = static_cast<GdkWindowState>(
++ aEvent->changed_mask | GDK_WINDOW_STATE_MAXIMIZED);
++ }
+ }
+
+ // This is a workaround for https://gitlab.gnome.org/GNOME/gtk/issues/1395
+ // Gtk+ controls window active appearance by window-state-event signal.
+ if (mDrawInTitlebar && (aEvent->changed_mask & GDK_WINDOW_STATE_FOCUSED)) {
+ // Emulate what Gtk+ does at gtk_window_state_event().
+ // We can't check GTK_STATE_FLAG_BACKDROP directly as it's set by Gtk+
+ // *after* this window-state-event handler.
bgstack15