diff options
Diffstat (limited to 'mozilla-1623106.patch')
-rw-r--r-- | mozilla-1623106.patch | 73 |
1 files changed, 0 insertions, 73 deletions
diff --git a/mozilla-1623106.patch b/mozilla-1623106.patch deleted file mode 100644 index 354d918..0000000 --- a/mozilla-1623106.patch +++ /dev/null @@ -1,73 +0,0 @@ -changeset: 521156:e856a981e2be -tag: tip -parent: 521144:5bfecf5aff6d -user: Martin Stransky <stransky@redhat.com> -date: Tue Mar 17 21:22:44 2020 +0100 -files: widget/gtk/nsWindow.cpp -description: -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 -@@ -2739,16 +2739,18 @@ void nsWindow::OnContainerUnrealize() { - } - } - - void nsWindow::OnSizeAllocate(GtkAllocation* aAllocation) { - LOG(("nsWindow::OnSizeAllocate [%p] %d,%d -> %d x %d\n", (void*)this, - aAllocation->x, aAllocation->y, aAllocation->width, - aAllocation->height)); - -+ mBoundsAreValid = true; -+ - LayoutDeviceIntSize size = GdkRectToDevicePixels(*aAllocation).Size(); - if (mBounds.Size() == size) { - // We were already resized at nsWindow::OnConfigureEvent() so skip it. - return; - } - - // 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, 0) != 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. - |