Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
259 changes: 0 additions & 259 deletions .github/workflows/flutter-engine-armv7hf.yaml

This file was deleted.

3 changes: 3 additions & 0 deletions .github/workflows/flutter-engine-riscv64.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,9 @@ jobs:
PATCH_DIR=$PWD/patches
cd flutter
git apply $PATCH_DIR/0001-clang-toolchain.patch
git apply $PATCH_DIR/0003-gn-riscv32-and-riscv64.patch
git apply $PATCH_DIR/0005-fml-fixes-text_input-compiler-warnings.patch
git apply $PATCH_DIR/0006-impeller-unnecessary-virtual-specifier.patch

- name: Build Debug
working-directory: flutter/engine/src
Expand Down
28 changes: 28 additions & 0 deletions patches/0003-gn-riscv32-and-riscv64.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
From 748e416e394552cac6e4be30112c3ef45d1c0ec3 Mon Sep 17 00:00:00 2001
From: Joel Winarske <joel.winarske@gmail.com>
Date: Tue, 6 Aug 2024 08:03:59 -0700
Subject: [PATCH] gn riscv32 and riscv64

Upstream-Status: Inappropriate

Signed-off-by: Joel Winarske <joel.winarske@gmail.com>
---
engine/src/flutter/tools/gn | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/engine/src/flutter/tools/gn b/engine/src/flutter/tools/gn
index 0be76e5477..8fee233aed 100755
--- a/engine/src/flutter/tools/gn
+++ b/engine/src/flutter/tools/gn
@@ -1015,7 +1015,7 @@ def parse_args(args):
parser.add_argument('--web', action='store_true', default=False)
parser.add_argument('--windows', dest='target_os', action='store_const', const='win')

- parser.add_argument('--linux-cpu', type=str, choices=['x64', 'x86', 'arm64', 'arm'])
+ parser.add_argument('--linux-cpu', type=str, choices=['x64', 'x86', 'arm64', 'arm', 'riscv32', 'riscv64'])
parser.add_argument('--fuchsia-cpu', type=str, choices=['x64', 'arm64'], default='x64')
parser.add_argument('--windows-cpu', type=str, choices=['x64', 'arm64', 'x86'], default='x64')
parser.add_argument('--simulator-cpu', type=str, choices=['x64', 'arm64'], default='x64')
--
2.45.2

76 changes: 76 additions & 0 deletions patches/0005-fml-fixes-text_input-compiler-warnings.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,76 @@
From c7bb26a38b1d5988cc45a60091a70b5e87ac36ba Mon Sep 17 00:00:00 2001
From: Joel Winarske <joel.winarske@gmail.com>
Date: Mon, 10 Nov 2025 09:49:09 -0800
Subject: [PATCH] [fml] fixes text_input compiler warnings

Upstream-Status: Inappropriate

Signed-off-by: Joel Winarske <joel.winarske@gmail.com>
---
.../shell/platform/common/text_input_model.cc | 14 +++++++-------
1 file changed, 7 insertions(+), 7 deletions(-)

diff --git a/engine/src/flutter/shell/platform/common/text_input_model.cc b/engine/src/flutter/shell/platform/common/text_input_model.cc
index a21fe1ff3ef..ef807409dc1 100644
--- a/engine/src/flutter/shell/platform/common/text_input_model.cc
+++ b/engine/src/flutter/shell/platform/common/text_input_model.cc
@@ -157,7 +157,7 @@ bool TextInputModel::Backspace() {
// There is no selection. Delete the preceding codepoint.
size_t position = selection_.position();
if (position != editable_range().start()) {
- int count = IsTrailingSurrogate(text_.at(position - 1)) ? 2 : 1;
+ int count = IsTrailingSurrogate(static_cast<char32_t>(text_.at(position - 1))) ? 2 : 1;
text_.erase(position - count, count);
selection_ = TextRange(position - count);
if (composing_) {
@@ -175,7 +175,7 @@ bool TextInputModel::Delete() {
// There is no selection. Delete the preceding codepoint.
size_t position = selection_.position();
if (position < editable_range().end()) {
- int count = IsLeadingSurrogate(text_.at(position)) ? 2 : 1;
+ int count = IsLeadingSurrogate(static_cast<char32_t>(text_.at(position))) ? 2 : 1;
text_.erase(position, count);
if (composing_) {
composing_range_.set_end(composing_range_.end() - count);
@@ -196,17 +196,17 @@ bool TextInputModel::DeleteSurrounding(int offset_from_cursor, int count) {
count = i;
break;
}
- start -= IsTrailingSurrogate(text_.at(start - 1)) ? 2 : 1;
+ start -= IsTrailingSurrogate(static_cast<char32_t>(text_.at(start - 1))) ? 2 : 1;
}
} else {
for (int i = 0; i < offset_from_cursor && start != max_pos; i++) {
- start += IsLeadingSurrogate(text_.at(start)) ? 2 : 1;
+ start += IsLeadingSurrogate(static_cast<char32_t>(text_.at(start))) ? 2 : 1;
}
}

auto end = start;
for (int i = 0; i < count && end != max_pos; i++) {
- end += IsLeadingSurrogate(text_.at(start)) ? 2 : 1;
+ end += IsLeadingSurrogate(static_cast<char32_t>(text_.at(start))) ? 2 : 1;
}

if (start == end) {
@@ -271,7 +271,7 @@ bool TextInputModel::MoveCursorForward() {
// Otherwise, move the cursor forward.
size_t position = selection_.position();
if (position != editable_range().end()) {
- int count = IsLeadingSurrogate(text_.at(position)) ? 2 : 1;
+ int count = IsLeadingSurrogate(static_cast<char32_t>(text_.at(position))) ? 2 : 1;
selection_ = TextRange(position + count);
return true;
}
@@ -287,7 +287,7 @@ bool TextInputModel::MoveCursorBack() {
// Otherwise, move the cursor backward.
size_t position = selection_.position();
if (position != editable_range().start()) {
- int count = IsTrailingSurrogate(text_.at(position - 1)) ? 2 : 1;
+ int count = IsTrailingSurrogate(static_cast<char32_t>(text_.at(position - 1))) ? 2 : 1;
selection_ = TextRange(position - count);
return true;
}
--
2.51.1

Loading