diff options
author | Jan Horak <jhorak@redhat.com> | 2020-02-11 10:45:39 +0100 |
---|---|---|
committer | Jan Horak <jhorak@redhat.com> | 2020-02-11 10:45:39 +0100 |
commit | 422073de22187f5dcf4324fd22334e686d6104ba (patch) | |
tree | c09f13f5165b3ff28856dcb93fe25b5c298c02a7 /mozilla-1609732-pause-renderer.patch | |
parent | Update to 73.0 build3 (diff) | |
download | librewolf-fedora-ff-422073de22187f5dcf4324fd22334e686d6104ba.tar.gz librewolf-fedora-ff-422073de22187f5dcf4324fd22334e686d6104ba.tar.bz2 librewolf-fedora-ff-422073de22187f5dcf4324fd22334e686d6104ba.zip |
Added popup-fixing patches, fixed api key paths
Diffstat (limited to 'mozilla-1609732-pause-renderer.patch')
-rw-r--r-- | mozilla-1609732-pause-renderer.patch | 73 |
1 files changed, 73 insertions, 0 deletions
diff --git a/mozilla-1609732-pause-renderer.patch b/mozilla-1609732-pause-renderer.patch new file mode 100644 index 0000000..6f159e1 --- /dev/null +++ b/mozilla-1609732-pause-renderer.patch @@ -0,0 +1,73 @@ +diff --git a/widget/gtk/nsWindow.h b/widget/gtk/nsWindow.h +--- a/widget/gtk/nsWindow.h ++++ b/widget/gtk/nsWindow.h +@@ -681,6 +681,7 @@ + + bool IsMainMenuWindow(); + GtkWidget* ConfigureWaylandPopupWindows(); ++ void PauseRemoteRenderer(); + void HideWaylandWindow(); + void HideWaylandTooltips(); + void HideWaylandPopupAndAllChildren(); +diff --git a/widget/gtk/nsWindow.cpp b/widget/gtk/nsWindow.cpp +--- a/widget/gtk/nsWindow.cpp ++++ b/widget/gtk/nsWindow.cpp +@@ -1386,10 +1386,10 @@ + } + + if (needsPositionUpdate && needsSizeUpdate) { +- Resize(newBounds.x, newBounds.y, newBounds.width, newBounds.height, true); ++ mBounds = newBounds; + NotifyWindowMoved(newBounds.x, newBounds.y); + } else if (needsPositionUpdate) { +- Move(newBounds.x, newBounds.y); ++ mBounds = newBounds; + NotifyWindowMoved(newBounds.x, newBounds.y); + } else { + Resize(newBounds.width, newBounds.height, true); +@@ -1476,6 +1476,7 @@ + bool isWidgetVisible = + (sGtkWidgetIsVisible != nullptr) && sGtkWidgetIsVisible(mShell); + if (isWidgetVisible) { ++ PauseRemoteRenderer(); + gtk_widget_hide(mShell); + } + +@@ -4497,16 +4498,8 @@ + } + } + +-void nsWindow::HideWaylandWindow() { ++void nsWindow::PauseRemoteRenderer() { + #ifdef MOZ_WAYLAND +- if (mWindowType == eWindowType_popup) { +- LOG(("nsWindow::HideWaylandWindow: popup [%p]\n", this)); +- GList* foundWindow = g_list_find(gVisibleWaylandPopupWindows, this); +- if (foundWindow) { +- gVisibleWaylandPopupWindows = +- g_list_delete_link(gVisibleWaylandPopupWindows, foundWindow); +- } +- } + if (!mIsDestroyed) { + if (mContainer && moz_container_has_wl_egl_window(mContainer)) { + // Because wl_egl_window is destroyed on moz_container_unmap(), +@@ -4529,6 +4522,18 @@ + } + } + #endif ++} ++ ++void nsWindow::HideWaylandWindow() { ++ if (mWindowType == eWindowType_popup) { ++ LOG(("nsWindow::HideWaylandWindow: popup [%p]\n", this)); ++ GList* foundWindow = g_list_find(gVisibleWaylandPopupWindows, this); ++ if (foundWindow) { ++ gVisibleWaylandPopupWindows = ++ g_list_delete_link(gVisibleWaylandPopupWindows, foundWindow); ++ } ++ } ++ PauseRemoteRenderer(); + gtk_widget_hide(mShell); + } + + |