From 0df637fb733fcb248231b1dc2637e076e1a8f19b Mon Sep 17 00:00:00 2001 From: dom Date: Sun, 28 Jun 2026 20:11:56 +0800 Subject: [PATCH] popup menu patch Signed-off-by: dom --- lib/scripts/patch.ps1 | 5 ++++- lib/scripts/popup_menu.patch | 16 ++++++++++++++++ 2 files changed, 20 insertions(+), 1 deletion(-) create mode 100644 lib/scripts/popup_menu.patch diff --git a/lib/scripts/patch.ps1 b/lib/scripts/patch.ps1 index 342b57f2f..268dcad18 100644 --- a/lib/scripts/patch.ps1 +++ b/lib/scripts/patch.ps1 @@ -29,6 +29,8 @@ $LayoutBuilderPatch = "lib/scripts/layout_builder.patch" # https://github.com/bggRGjQaUbCoE/PiliPlus/issues/2308 $NavigationDrawerPatch = "lib/scripts/navigation_drawer.patch" +$PopupMenuPatch = "lib/scripts/popup_menu.patch" + # TODO: remove # https://github.com/flutter/flutter/issues/90223 $ModalBarrierPatch = "lib/scripts/modal_barrier.patch" @@ -55,7 +57,8 @@ Set-Location $env:FLUTTER_ROOT $picks = @() $reverts = @() $patches = @($ModalBarrierPatch, $TextSelectionPatch, $MouseCursorPatch, - $ImageAnimPatch, $LayoutBuilderPatch, $NavigationDrawerPatch) + $ImageAnimPatch, $LayoutBuilderPatch, $NavigationDrawerPatch, + $PopupMenuPatch) switch ($platform.ToLower()) { "android" { diff --git a/lib/scripts/popup_menu.patch b/lib/scripts/popup_menu.patch new file mode 100644 index 000000000..47d6add95 --- /dev/null +++ b/lib/scripts/popup_menu.patch @@ -0,0 +1,16 @@ +diff --git a/packages/flutter/lib/src/material/popup_menu.dart b/packages/flutter/lib/src/material/popup_menu.dart +index 8b84b2760d5..6ff222c4541 100644 +--- a/packages/flutter/lib/src/material/popup_menu.dart ++++ b/packages/flutter/lib/src/material/popup_menu.dart +@@ -446,6 +446,11 @@ class PopupMenuItemState> extends State { + data: IconThemeData(opacity: isDark ? 0.5 : 0.38), + child: item, + ); ++ } else { ++ item = IconTheme.merge( ++ data: IconThemeData(color: style.color), ++ child: item, ++ ); + } + + return MergeSemantics(