From cc370311a741a7c3e932598136746a86262d2af8 Mon Sep 17 00:00:00 2001 From: spotrh Date: Fri, 23 Sep 2022 14:35:09 -0400 Subject: [PATCH] apply upstream fix for wayland menu misplacement bug --- ...mium-105.0.5195.125-fix-wayland-menu.patch | 26 +++++++++++++++++++ chromium.spec | 10 ++++++- 2 files changed, 35 insertions(+), 1 deletion(-) create mode 100644 chromium-105.0.5195.125-fix-wayland-menu.patch diff --git a/chromium-105.0.5195.125-fix-wayland-menu.patch b/chromium-105.0.5195.125-fix-wayland-menu.patch new file mode 100644 index 0000000..a4ce851 --- /dev/null +++ b/chromium-105.0.5195.125-fix-wayland-menu.patch @@ -0,0 +1,26 @@ +diff -up chromium-105.0.5195.125/ui/ozone/platform/wayland/host/wayland_window.cc.fix-wayland-menu chromium-105.0.5195.125/ui/ozone/platform/wayland/host/wayland_window.cc +--- chromium-105.0.5195.125/ui/ozone/platform/wayland/host/wayland_window.cc.fix-wayland-menu 2022-09-23 18:29:51.872286569 +0000 ++++ chromium-105.0.5195.125/ui/ozone/platform/wayland/host/wayland_window.cc 2022-09-23 18:30:18.819376074 +0000 +@@ -950,7 +950,7 @@ void WaylandWindow::ProcessPendingBounds + // window has been applied. + SetWindowGeometry(pending_bounds_dip_); + AckConfigure(serial); +- root_surface()->Commit(); ++ connection()->ScheduleFlush(); + } else if (!pending_configures_.empty() && + pending_bounds_dip_.size() == + pending_configures_.back().bounds_dip.size()) { +diff -up chromium-105.0.5195.125/ui/ozone/platform/wayland/wayland_buffer_manager_unittest.cc.fix-wayland-menu chromium-105.0.5195.125/ui/ozone/platform/wayland/wayland_buffer_manager_unittest.cc +--- chromium-105.0.5195.125/ui/ozone/platform/wayland/wayland_buffer_manager_unittest.cc.fix-wayland-menu 2022-09-23 18:30:41.936594397 +0000 ++++ chromium-105.0.5195.125/ui/ozone/platform/wayland/wayland_buffer_manager_unittest.cc 2022-09-23 18:31:31.703911576 +0000 +@@ -1103,9 +1103,7 @@ TEST_P(WaylandBufferManagerTest, TestCom + EXPECT_CALL(*xdg_surface, AckConfigure(_)).Times(1); + EXPECT_CALL(*mock_surface, Attach(_, _, _)).Times(1); + EXPECT_CALL(*mock_surface, Frame(_)).Times(1); +- // Commit() can be called a second time as part of the configure -> ack +- // sequence. +- EXPECT_CALL(*mock_surface, Commit()).Times(testing::Between(1, 2)); ++ EXPECT_CALL(*mock_surface, Commit()).Times(1); + + ActivateSurface(mock_surface->xdg_surface()); + Sync(); diff --git a/chromium.spec b/chromium.spec index 2346f32..85390ec 100644 --- a/chromium.spec +++ b/chromium.spec @@ -228,7 +228,7 @@ Name: chromium%{chromium_channel}%{nsuffix} Name: chromium%{chromium_channel} %endif Version: %{majorversion}.0.5195.125 -Release: 1%{?dist} +Release: 2%{?dist} %if %{?freeworld} %if %{?shared} # chromium-libs-media-freeworld @@ -338,6 +338,10 @@ Patch81: chromium-98.0.4758.102-gcc-12-subzero-fix.patch # Disable tests on remoting build Patch82: chromium-98.0.4758.102-remoting-no-tests.patch +# Fix Wayland menu issue +# https://bugs.chromium.org/p/chromium/issues/detail?id=13506 +# https://chromium-review.googlesource.com/c/chromium/src/+/3831855 +Patch83: chromium-105.0.5195.125-fix-wayland-menu.patch # Add missing cmath header Patch84: chromium-94.0.4606.71-remoting-missing-cmath-header.patch @@ -1064,6 +1068,7 @@ udev. %patch80 -p1 -b .EnumTable-crash # %%patch81 -p1 -b .gcc12fix %patch82 -p1 -b .remoting-no-tests +%patch83 -p1 -b .fix-wayland-menu %patch84 -p1 -b .remoting-missing-cmath-header %patch86 -p1 -b .clang-format-py3 %if 0%{?fedora} >= 37 @@ -2212,6 +2217,9 @@ getent group chrome-remote-desktop >/dev/null || groupadd -r chrome-remote-deskt %changelog +* Fri Sep 23 2022 Tom Callaway - 105.0.5195.125-2 +- apply upstream fix for wayland menu misplacement bug + * Mon Sep 19 2022 Tom Callaway - 105.0.5195.125-1 - update to 105.0.5195.125