diff --git a/.github/workflows/license_check.yml b/.github/workflows/license_check.yml
index 24c071b891..95108fda9f 100644
--- a/.github/workflows/license_check.yml
+++ b/.github/workflows/license_check.yml
@@ -12,7 +12,7 @@ jobs:
persist-credentials: false
- uses: WillAbides/setup-go-faster@v1.8.0
with:
- go-version: '1.20.x'
+ go-version: '1.21.x'
- name: Install lian
run: go install lucor.dev/lian@latest
diff --git a/.github/workflows/mobile_tests.yml b/.github/workflows/mobile_tests.yml
index e3b4122371..0fce72d32e 100644
--- a/.github/workflows/mobile_tests.yml
+++ b/.github/workflows/mobile_tests.yml
@@ -9,7 +9,7 @@ jobs:
strategy:
fail-fast: false
matrix:
- go-version: ['1.17.x', '1.20.x']
+ go-version: ['1.17.x', '1.21.x']
steps:
- uses: actions/checkout@v3
diff --git a/.github/workflows/platform_tests.yml b/.github/workflows/platform_tests.yml
index 324b7db5eb..0bd37d22ed 100644
--- a/.github/workflows/platform_tests.yml
+++ b/.github/workflows/platform_tests.yml
@@ -9,7 +9,7 @@ jobs:
strategy:
fail-fast: false
matrix:
- go-version: ['1.17.x', '1.20.x']
+ go-version: ['1.17.x', '1.21.x']
os: [ubuntu-latest, windows-latest, macos-latest]
include:
- os: ubuntu-latest
diff --git a/.github/workflows/static_analysis.yml b/.github/workflows/static_analysis.yml
index e562338c9a..97d47d8070 100644
--- a/.github/workflows/static_analysis.yml
+++ b/.github/workflows/static_analysis.yml
@@ -15,7 +15,7 @@ jobs:
persist-credentials: false
- uses: WillAbides/setup-go-faster@v1.8.0
with:
- go-version: '1.20.x'
+ go-version: '1.21.x'
- name: Get dependencies
run: >-
@@ -33,7 +33,7 @@ jobs:
run: |
go install golang.org/x/tools/cmd/goimports@latest
go install github.com/fzipp/gocyclo/cmd/gocyclo@latest
- go install honnef.co/go/tools/cmd/staticcheck@v0.4.2
+ go install honnef.co/go/tools/cmd/staticcheck@v0.4.6
go install github.com/mattn/goveralls@latest
- name: Vet
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 399fb48b24..797b360df5 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -3,6 +3,26 @@
This file lists the main changes with each version of the Fyne toolkit.
More detailed release notes can be found on the [releases page](https://github.com/fyne-io/fyne/releases).
+## 2.4.2 - 22 November 2023
+
+### Fixed
+
+* Markdown only shows one horizontal rule (#4216)
+* Spacer in HBox with hidden item will cause an additional trailing padding (#4259)
+* Application crash when fast clicking the folders inside the file dialog (#4260)
+* failed to initialise OpenGL (#437)
+* App panic when clicking on a notification panel if there's a systray icon (#4385)
+* Systray cannot be shown on Ubuntu (#3678, #4381)
+* failed to initialise OpenGL on Windows dual-chip graphics cards (#437)
+* Reduce memory allocations for each frame painted
+* RichText may not refresh if segments manually replaced
+* Correct URI.Extension() documentation
+* Update for security fixes to x/sys and x/net
+* Inconsistent rendering of Button widget (#4243)
+* PasswordEntry initial text is not obscured (#4312)
+* Pasting text in Entry does not update cursor position display (#4181)
+
+
## 2.4.1 - 9 October 2023
### Fixed
diff --git a/container/testdata/apptabs/desktop/hover_overflow.xml b/container/testdata/apptabs/desktop/hover_overflow.xml
index 0e2a72050b..5fa6d5934e 100644
--- a/container/testdata/apptabs/desktop/hover_overflow.xml
+++ b/container/testdata/apptabs/desktop/hover_overflow.xml
@@ -12,7 +12,7 @@
-
+
diff --git a/container/testdata/apptabs/desktop/tab_location_bottom.xml b/container/testdata/apptabs/desktop/tab_location_bottom.xml
index aa2101693d..db00c81d97 100644
--- a/container/testdata/apptabs/desktop/tab_location_bottom.xml
+++ b/container/testdata/apptabs/desktop/tab_location_bottom.xml
@@ -9,7 +9,7 @@
-
+
diff --git a/container/testdata/apptabs/desktop/tab_location_leading.xml b/container/testdata/apptabs/desktop/tab_location_leading.xml
index 4491abdf4e..e30be399b8 100644
--- a/container/testdata/apptabs/desktop/tab_location_leading.xml
+++ b/container/testdata/apptabs/desktop/tab_location_leading.xml
@@ -9,7 +9,7 @@
-
+
diff --git a/container/testdata/apptabs/desktop/tab_location_top.xml b/container/testdata/apptabs/desktop/tab_location_top.xml
index da4308cb1c..104d3c56e9 100644
--- a/container/testdata/apptabs/desktop/tab_location_top.xml
+++ b/container/testdata/apptabs/desktop/tab_location_top.xml
@@ -9,7 +9,7 @@
-
+
diff --git a/container/testdata/apptabs/desktop/tab_location_trailing.xml b/container/testdata/apptabs/desktop/tab_location_trailing.xml
index 1506ce501c..73a335bf94 100644
--- a/container/testdata/apptabs/desktop/tab_location_trailing.xml
+++ b/container/testdata/apptabs/desktop/tab_location_trailing.xml
@@ -9,7 +9,7 @@
-
+
diff --git a/container/testdata/apptabs/desktop/tapped_overflow_tabs.xml b/container/testdata/apptabs/desktop/tapped_overflow_tabs.xml
index f06e12ae4d..6f59f1e409 100644
--- a/container/testdata/apptabs/desktop/tapped_overflow_tabs.xml
+++ b/container/testdata/apptabs/desktop/tapped_overflow_tabs.xml
@@ -12,7 +12,7 @@
-
+
diff --git a/container/testdata/apptabs/mobile/tab_location_bottom.xml b/container/testdata/apptabs/mobile/tab_location_bottom.xml
index b4c44f05a9..0860774227 100644
--- a/container/testdata/apptabs/mobile/tab_location_bottom.xml
+++ b/container/testdata/apptabs/mobile/tab_location_bottom.xml
@@ -9,7 +9,7 @@
-
+
diff --git a/container/testdata/apptabs/mobile/tab_location_top.xml b/container/testdata/apptabs/mobile/tab_location_top.xml
index fa522452df..3e077a04df 100644
--- a/container/testdata/apptabs/mobile/tab_location_top.xml
+++ b/container/testdata/apptabs/mobile/tab_location_top.xml
@@ -9,7 +9,7 @@
-
+
diff --git a/container/testdata/doctabs/desktop/change_content_change_hidden.xml b/container/testdata/doctabs/desktop/change_content_change_hidden.xml
index aa945434e0..7e40307730 100644
--- a/container/testdata/doctabs/desktop/change_content_change_hidden.xml
+++ b/container/testdata/doctabs/desktop/change_content_change_hidden.xml
@@ -23,7 +23,7 @@
-
+
diff --git a/container/testdata/doctabs/desktop/change_content_change_visible.xml b/container/testdata/doctabs/desktop/change_content_change_visible.xml
index aa945434e0..7e40307730 100644
--- a/container/testdata/doctabs/desktop/change_content_change_visible.xml
+++ b/container/testdata/doctabs/desktop/change_content_change_visible.xml
@@ -23,7 +23,7 @@
-
+
diff --git a/container/testdata/doctabs/desktop/change_content_initial.xml b/container/testdata/doctabs/desktop/change_content_initial.xml
index 354af74cb7..b6806c6d75 100644
--- a/container/testdata/doctabs/desktop/change_content_initial.xml
+++ b/container/testdata/doctabs/desktop/change_content_initial.xml
@@ -23,7 +23,7 @@
-
+
diff --git a/container/testdata/doctabs/desktop/change_icon_change_selected.xml b/container/testdata/doctabs/desktop/change_icon_change_selected.xml
index 509b4c6620..dd2f4f5404 100644
--- a/container/testdata/doctabs/desktop/change_icon_change_selected.xml
+++ b/container/testdata/doctabs/desktop/change_icon_change_selected.xml
@@ -15,7 +15,7 @@
-
+
diff --git a/container/testdata/doctabs/desktop/change_icon_change_unselected.xml b/container/testdata/doctabs/desktop/change_icon_change_unselected.xml
index 050072b023..023eb33e1b 100644
--- a/container/testdata/doctabs/desktop/change_icon_change_unselected.xml
+++ b/container/testdata/doctabs/desktop/change_icon_change_unselected.xml
@@ -15,7 +15,7 @@
-
+
diff --git a/container/testdata/doctabs/desktop/change_icon_initial.xml b/container/testdata/doctabs/desktop/change_icon_initial.xml
index c7d976a0d8..eee5a47fac 100644
--- a/container/testdata/doctabs/desktop/change_icon_initial.xml
+++ b/container/testdata/doctabs/desktop/change_icon_initial.xml
@@ -15,7 +15,7 @@
-
+
diff --git a/container/testdata/doctabs/desktop/change_label_change_selected.xml b/container/testdata/doctabs/desktop/change_label_change_selected.xml
index eac41ce872..9aea6216c3 100644
--- a/container/testdata/doctabs/desktop/change_label_change_selected.xml
+++ b/container/testdata/doctabs/desktop/change_label_change_selected.xml
@@ -23,7 +23,7 @@
-
+
diff --git a/container/testdata/doctabs/desktop/change_label_change_unselected.xml b/container/testdata/doctabs/desktop/change_label_change_unselected.xml
index 61b869fe93..20f093dd52 100644
--- a/container/testdata/doctabs/desktop/change_label_change_unselected.xml
+++ b/container/testdata/doctabs/desktop/change_label_change_unselected.xml
@@ -23,7 +23,7 @@
-
+
diff --git a/container/testdata/doctabs/desktop/change_label_initial.xml b/container/testdata/doctabs/desktop/change_label_initial.xml
index 354af74cb7..b6806c6d75 100644
--- a/container/testdata/doctabs/desktop/change_label_initial.xml
+++ b/container/testdata/doctabs/desktop/change_label_initial.xml
@@ -23,7 +23,7 @@
-
+
diff --git a/container/testdata/doctabs/desktop/change_label_to_longer_text_selected.xml b/container/testdata/doctabs/desktop/change_label_to_longer_text_selected.xml
index 6b0f2831de..90f2bd08c3 100644
--- a/container/testdata/doctabs/desktop/change_label_to_longer_text_selected.xml
+++ b/container/testdata/doctabs/desktop/change_label_to_longer_text_selected.xml
@@ -15,7 +15,7 @@
-
+
diff --git a/container/testdata/doctabs/desktop/dynamic_appended.xml b/container/testdata/doctabs/desktop/dynamic_appended.xml
index 0f18b9466a..04ae2fb5c6 100644
--- a/container/testdata/doctabs/desktop/dynamic_appended.xml
+++ b/container/testdata/doctabs/desktop/dynamic_appended.xml
@@ -15,7 +15,7 @@
-
+
diff --git a/container/testdata/doctabs/desktop/dynamic_appended_and_removed.xml b/container/testdata/doctabs/desktop/dynamic_appended_and_removed.xml
index 4f6a8a9786..a2c382bc9e 100644
--- a/container/testdata/doctabs/desktop/dynamic_appended_and_removed.xml
+++ b/container/testdata/doctabs/desktop/dynamic_appended_and_removed.xml
@@ -12,7 +12,7 @@
-
+
diff --git a/container/testdata/doctabs/desktop/dynamic_appended_another_three.xml b/container/testdata/doctabs/desktop/dynamic_appended_another_three.xml
index 5f85c42dec..0c80949d85 100644
--- a/container/testdata/doctabs/desktop/dynamic_appended_another_three.xml
+++ b/container/testdata/doctabs/desktop/dynamic_appended_another_three.xml
@@ -29,7 +29,7 @@
-
+
diff --git a/container/testdata/doctabs/desktop/dynamic_initial.xml b/container/testdata/doctabs/desktop/dynamic_initial.xml
index 8133a28245..408b09d6fb 100644
--- a/container/testdata/doctabs/desktop/dynamic_initial.xml
+++ b/container/testdata/doctabs/desktop/dynamic_initial.xml
@@ -12,7 +12,7 @@
-
+
diff --git a/container/testdata/doctabs/desktop/dynamic_replaced_completely.xml b/container/testdata/doctabs/desktop/dynamic_replaced_completely.xml
index d668d2870d..2e092ba78d 100644
--- a/container/testdata/doctabs/desktop/dynamic_replaced_completely.xml
+++ b/container/testdata/doctabs/desktop/dynamic_replaced_completely.xml
@@ -18,7 +18,7 @@
-
+
diff --git a/container/testdata/doctabs/desktop/hover_all_tabs.xml b/container/testdata/doctabs/desktop/hover_all_tabs.xml
index 0daf3e6770..6d70345e15 100644
--- a/container/testdata/doctabs/desktop/hover_all_tabs.xml
+++ b/container/testdata/doctabs/desktop/hover_all_tabs.xml
@@ -23,12 +23,12 @@
-
+
-
+
diff --git a/container/testdata/doctabs/desktop/hover_create_tab.xml b/container/testdata/doctabs/desktop/hover_create_tab.xml
index dc9f06267b..70a1ee8722 100644
--- a/container/testdata/doctabs/desktop/hover_create_tab.xml
+++ b/container/testdata/doctabs/desktop/hover_create_tab.xml
@@ -23,12 +23,12 @@
-
+
-
+
diff --git a/container/testdata/doctabs/desktop/hover_first.xml b/container/testdata/doctabs/desktop/hover_first.xml
index cccd88f86c..e790ea6c0f 100644
--- a/container/testdata/doctabs/desktop/hover_first.xml
+++ b/container/testdata/doctabs/desktop/hover_first.xml
@@ -27,12 +27,12 @@
-
+
-
+
diff --git a/container/testdata/doctabs/desktop/hover_first_close.xml b/container/testdata/doctabs/desktop/hover_first_close.xml
index dc9f06267b..70a1ee8722 100644
--- a/container/testdata/doctabs/desktop/hover_first_close.xml
+++ b/container/testdata/doctabs/desktop/hover_first_close.xml
@@ -23,12 +23,12 @@
-
+
-
+
diff --git a/container/testdata/doctabs/desktop/hover_none.xml b/container/testdata/doctabs/desktop/hover_none.xml
index fc6ccb6ad1..9238870cd7 100644
--- a/container/testdata/doctabs/desktop/hover_none.xml
+++ b/container/testdata/doctabs/desktop/hover_none.xml
@@ -23,12 +23,12 @@
-
+
-
+
diff --git a/container/testdata/doctabs/desktop/hover_second.xml b/container/testdata/doctabs/desktop/hover_second.xml
index dc9f06267b..70a1ee8722 100644
--- a/container/testdata/doctabs/desktop/hover_second.xml
+++ b/container/testdata/doctabs/desktop/hover_second.xml
@@ -23,12 +23,12 @@
-
+
-
+
diff --git a/container/testdata/doctabs/desktop/layout_bottom_icon.xml b/container/testdata/doctabs/desktop/layout_bottom_icon.xml
index a3386be2a2..df477efb78 100644
--- a/container/testdata/doctabs/desktop/layout_bottom_icon.xml
+++ b/container/testdata/doctabs/desktop/layout_bottom_icon.xml
@@ -12,7 +12,7 @@
-
+
diff --git a/container/testdata/doctabs/desktop/layout_bottom_icon_and_text.xml b/container/testdata/doctabs/desktop/layout_bottom_icon_and_text.xml
index a9bae05b14..b7582a83b4 100644
--- a/container/testdata/doctabs/desktop/layout_bottom_icon_and_text.xml
+++ b/container/testdata/doctabs/desktop/layout_bottom_icon_and_text.xml
@@ -13,7 +13,7 @@
-
+
diff --git a/container/testdata/doctabs/desktop/layout_bottom_text.xml b/container/testdata/doctabs/desktop/layout_bottom_text.xml
index d92591475c..0d5725dfed 100644
--- a/container/testdata/doctabs/desktop/layout_bottom_text.xml
+++ b/container/testdata/doctabs/desktop/layout_bottom_text.xml
@@ -12,7 +12,7 @@
-
+
diff --git a/container/testdata/doctabs/desktop/layout_leading_icon.xml b/container/testdata/doctabs/desktop/layout_leading_icon.xml
index e3b82c37cf..9ed4062f8b 100644
--- a/container/testdata/doctabs/desktop/layout_leading_icon.xml
+++ b/container/testdata/doctabs/desktop/layout_leading_icon.xml
@@ -12,7 +12,7 @@
-
+
diff --git a/container/testdata/doctabs/desktop/layout_leading_icon_and_text.xml b/container/testdata/doctabs/desktop/layout_leading_icon_and_text.xml
index 18a028a616..3ad2dda74d 100644
--- a/container/testdata/doctabs/desktop/layout_leading_icon_and_text.xml
+++ b/container/testdata/doctabs/desktop/layout_leading_icon_and_text.xml
@@ -13,7 +13,7 @@
-
+
diff --git a/container/testdata/doctabs/desktop/layout_leading_text.xml b/container/testdata/doctabs/desktop/layout_leading_text.xml
index 8d6b6b1b18..ed08c0184c 100644
--- a/container/testdata/doctabs/desktop/layout_leading_text.xml
+++ b/container/testdata/doctabs/desktop/layout_leading_text.xml
@@ -12,7 +12,7 @@
-
+
diff --git a/container/testdata/doctabs/desktop/layout_top_icon.xml b/container/testdata/doctabs/desktop/layout_top_icon.xml
index b7401cfdd8..f2faf7b3cf 100644
--- a/container/testdata/doctabs/desktop/layout_top_icon.xml
+++ b/container/testdata/doctabs/desktop/layout_top_icon.xml
@@ -12,7 +12,7 @@
-
+
diff --git a/container/testdata/doctabs/desktop/layout_top_icon_and_text.xml b/container/testdata/doctabs/desktop/layout_top_icon_and_text.xml
index dd42213281..ab7bf8f0b4 100644
--- a/container/testdata/doctabs/desktop/layout_top_icon_and_text.xml
+++ b/container/testdata/doctabs/desktop/layout_top_icon_and_text.xml
@@ -13,7 +13,7 @@
-
+
diff --git a/container/testdata/doctabs/desktop/layout_top_text.xml b/container/testdata/doctabs/desktop/layout_top_text.xml
index 73284ecdc6..2cbd507db2 100644
--- a/container/testdata/doctabs/desktop/layout_top_text.xml
+++ b/container/testdata/doctabs/desktop/layout_top_text.xml
@@ -12,7 +12,7 @@
-
+
diff --git a/container/testdata/doctabs/desktop/layout_trailing_icon.xml b/container/testdata/doctabs/desktop/layout_trailing_icon.xml
index 17a33b3cf0..9a3c5bfd1f 100644
--- a/container/testdata/doctabs/desktop/layout_trailing_icon.xml
+++ b/container/testdata/doctabs/desktop/layout_trailing_icon.xml
@@ -12,7 +12,7 @@
-
+
diff --git a/container/testdata/doctabs/desktop/layout_trailing_icon_and_text.xml b/container/testdata/doctabs/desktop/layout_trailing_icon_and_text.xml
index ecf16c865e..9eb08deb0c 100644
--- a/container/testdata/doctabs/desktop/layout_trailing_icon_and_text.xml
+++ b/container/testdata/doctabs/desktop/layout_trailing_icon_and_text.xml
@@ -13,7 +13,7 @@
-
+
diff --git a/container/testdata/doctabs/desktop/layout_trailing_text.xml b/container/testdata/doctabs/desktop/layout_trailing_text.xml
index c56abff84e..f4f90e9056 100644
--- a/container/testdata/doctabs/desktop/layout_trailing_text.xml
+++ b/container/testdata/doctabs/desktop/layout_trailing_text.xml
@@ -12,7 +12,7 @@
-
+
diff --git a/container/testdata/doctabs/desktop/tab_location_bottom.xml b/container/testdata/doctabs/desktop/tab_location_bottom.xml
index 5191fb5122..26f1989548 100644
--- a/container/testdata/doctabs/desktop/tab_location_bottom.xml
+++ b/container/testdata/doctabs/desktop/tab_location_bottom.xml
@@ -26,7 +26,7 @@
-
+
diff --git a/container/testdata/doctabs/desktop/tab_location_leading.xml b/container/testdata/doctabs/desktop/tab_location_leading.xml
index 9ac2e6898d..d8eeba8396 100644
--- a/container/testdata/doctabs/desktop/tab_location_leading.xml
+++ b/container/testdata/doctabs/desktop/tab_location_leading.xml
@@ -26,7 +26,7 @@
-
+
diff --git a/container/testdata/doctabs/desktop/tab_location_top.xml b/container/testdata/doctabs/desktop/tab_location_top.xml
index 4fb8f5829a..470ac3f6d4 100644
--- a/container/testdata/doctabs/desktop/tab_location_top.xml
+++ b/container/testdata/doctabs/desktop/tab_location_top.xml
@@ -26,7 +26,7 @@
-
+
diff --git a/container/testdata/doctabs/desktop/tab_location_trailing.xml b/container/testdata/doctabs/desktop/tab_location_trailing.xml
index b6e21a8911..2e5b318e81 100644
--- a/container/testdata/doctabs/desktop/tab_location_trailing.xml
+++ b/container/testdata/doctabs/desktop/tab_location_trailing.xml
@@ -26,7 +26,7 @@
-
+
diff --git a/container/testdata/doctabs/desktop/tapped_all_tabs.xml b/container/testdata/doctabs/desktop/tapped_all_tabs.xml
index 24acd51009..a5a92b2161 100644
--- a/container/testdata/doctabs/desktop/tapped_all_tabs.xml
+++ b/container/testdata/doctabs/desktop/tapped_all_tabs.xml
@@ -29,12 +29,12 @@
-
+
-
+
diff --git a/container/testdata/doctabs/desktop/tapped_create_tab.xml b/container/testdata/doctabs/desktop/tapped_create_tab.xml
index 68b78b240d..ab8c51f3b7 100644
--- a/container/testdata/doctabs/desktop/tapped_create_tab.xml
+++ b/container/testdata/doctabs/desktop/tapped_create_tab.xml
@@ -29,12 +29,12 @@
-
+
-
+
diff --git a/container/testdata/doctabs/desktop/tapped_first_selected.xml b/container/testdata/doctabs/desktop/tapped_first_selected.xml
index 52de64cb9d..0dcf631cfa 100644
--- a/container/testdata/doctabs/desktop/tapped_first_selected.xml
+++ b/container/testdata/doctabs/desktop/tapped_first_selected.xml
@@ -26,12 +26,12 @@
-
+
-
+
diff --git a/container/testdata/doctabs/desktop/tapped_second_selected.xml b/container/testdata/doctabs/desktop/tapped_second_selected.xml
index 1865f3c8c5..82360a1e7d 100644
--- a/container/testdata/doctabs/desktop/tapped_second_selected.xml
+++ b/container/testdata/doctabs/desktop/tapped_second_selected.xml
@@ -26,12 +26,12 @@
-
+
-
+
diff --git a/container/testdata/doctabs/desktop/tapped_third_selected.xml b/container/testdata/doctabs/desktop/tapped_third_selected.xml
index 1bb613e9d1..5f4bc40757 100644
--- a/container/testdata/doctabs/desktop/tapped_third_selected.xml
+++ b/container/testdata/doctabs/desktop/tapped_third_selected.xml
@@ -26,12 +26,12 @@
-
+
-
+
diff --git a/container/testdata/doctabs/mobile/change_content_change_hidden.xml b/container/testdata/doctabs/mobile/change_content_change_hidden.xml
index c1438ab9f3..300aea2165 100644
--- a/container/testdata/doctabs/mobile/change_content_change_hidden.xml
+++ b/container/testdata/doctabs/mobile/change_content_change_hidden.xml
@@ -29,7 +29,7 @@
-
+
diff --git a/container/testdata/doctabs/mobile/change_content_change_visible.xml b/container/testdata/doctabs/mobile/change_content_change_visible.xml
index c1438ab9f3..300aea2165 100644
--- a/container/testdata/doctabs/mobile/change_content_change_visible.xml
+++ b/container/testdata/doctabs/mobile/change_content_change_visible.xml
@@ -29,7 +29,7 @@
-
+
diff --git a/container/testdata/doctabs/mobile/change_content_initial.xml b/container/testdata/doctabs/mobile/change_content_initial.xml
index 8e168b83e2..9f24e17f28 100644
--- a/container/testdata/doctabs/mobile/change_content_initial.xml
+++ b/container/testdata/doctabs/mobile/change_content_initial.xml
@@ -29,7 +29,7 @@
-
+
diff --git a/container/testdata/doctabs/mobile/change_icon_change_selected.xml b/container/testdata/doctabs/mobile/change_icon_change_selected.xml
index 84828719c7..e0456fcfc3 100644
--- a/container/testdata/doctabs/mobile/change_icon_change_selected.xml
+++ b/container/testdata/doctabs/mobile/change_icon_change_selected.xml
@@ -29,7 +29,7 @@
-
+
diff --git a/container/testdata/doctabs/mobile/change_icon_change_unselected.xml b/container/testdata/doctabs/mobile/change_icon_change_unselected.xml
index 41eef7a8a2..d3123d2712 100644
--- a/container/testdata/doctabs/mobile/change_icon_change_unselected.xml
+++ b/container/testdata/doctabs/mobile/change_icon_change_unselected.xml
@@ -29,7 +29,7 @@
-
+
diff --git a/container/testdata/doctabs/mobile/change_icon_initial.xml b/container/testdata/doctabs/mobile/change_icon_initial.xml
index 74f9f1aded..8777680652 100644
--- a/container/testdata/doctabs/mobile/change_icon_initial.xml
+++ b/container/testdata/doctabs/mobile/change_icon_initial.xml
@@ -29,7 +29,7 @@
-
+
diff --git a/container/testdata/doctabs/mobile/change_label_change_selected.xml b/container/testdata/doctabs/mobile/change_label_change_selected.xml
index 0add78acf5..63a6859578 100644
--- a/container/testdata/doctabs/mobile/change_label_change_selected.xml
+++ b/container/testdata/doctabs/mobile/change_label_change_selected.xml
@@ -29,7 +29,7 @@
-
+
diff --git a/container/testdata/doctabs/mobile/change_label_change_unselected.xml b/container/testdata/doctabs/mobile/change_label_change_unselected.xml
index d3362c4f6e..11b5e1d393 100644
--- a/container/testdata/doctabs/mobile/change_label_change_unselected.xml
+++ b/container/testdata/doctabs/mobile/change_label_change_unselected.xml
@@ -29,7 +29,7 @@
-
+
diff --git a/container/testdata/doctabs/mobile/change_label_initial.xml b/container/testdata/doctabs/mobile/change_label_initial.xml
index 8e168b83e2..9f24e17f28 100644
--- a/container/testdata/doctabs/mobile/change_label_initial.xml
+++ b/container/testdata/doctabs/mobile/change_label_initial.xml
@@ -29,7 +29,7 @@
-
+
diff --git a/container/testdata/doctabs/mobile/dynamic_appended.xml b/container/testdata/doctabs/mobile/dynamic_appended.xml
index 3173d85c1d..11cd223128 100644
--- a/container/testdata/doctabs/mobile/dynamic_appended.xml
+++ b/container/testdata/doctabs/mobile/dynamic_appended.xml
@@ -21,7 +21,7 @@
-
+
diff --git a/container/testdata/doctabs/mobile/dynamic_appended_and_removed.xml b/container/testdata/doctabs/mobile/dynamic_appended_and_removed.xml
index a953c54846..59a354a729 100644
--- a/container/testdata/doctabs/mobile/dynamic_appended_and_removed.xml
+++ b/container/testdata/doctabs/mobile/dynamic_appended_and_removed.xml
@@ -15,7 +15,7 @@
-
+
diff --git a/container/testdata/doctabs/mobile/dynamic_appended_another_three.xml b/container/testdata/doctabs/mobile/dynamic_appended_another_three.xml
index fdc1ad07bf..b4e262ec87 100644
--- a/container/testdata/doctabs/mobile/dynamic_appended_another_three.xml
+++ b/container/testdata/doctabs/mobile/dynamic_appended_another_three.xml
@@ -41,7 +41,7 @@
-
+
diff --git a/container/testdata/doctabs/mobile/dynamic_initial.xml b/container/testdata/doctabs/mobile/dynamic_initial.xml
index 58ea830ed2..6b79f71956 100644
--- a/container/testdata/doctabs/mobile/dynamic_initial.xml
+++ b/container/testdata/doctabs/mobile/dynamic_initial.xml
@@ -15,7 +15,7 @@
-
+
diff --git a/container/testdata/doctabs/mobile/dynamic_replaced_completely.xml b/container/testdata/doctabs/mobile/dynamic_replaced_completely.xml
index 57e9d8c958..b52b0bad50 100644
--- a/container/testdata/doctabs/mobile/dynamic_replaced_completely.xml
+++ b/container/testdata/doctabs/mobile/dynamic_replaced_completely.xml
@@ -27,7 +27,7 @@
-
+
diff --git a/container/testdata/doctabs/mobile/hover_none.xml b/container/testdata/doctabs/mobile/hover_none.xml
index 4f270f5fc8..10523657c6 100644
--- a/container/testdata/doctabs/mobile/hover_none.xml
+++ b/container/testdata/doctabs/mobile/hover_none.xml
@@ -29,7 +29,7 @@
-
+
diff --git a/container/testdata/doctabs/mobile/layout_bottom_ico.xml b/container/testdata/doctabs/mobile/layout_bottom_ico.xml
index 5c16035703..ce7b86ee72 100644
--- a/container/testdata/doctabs/mobile/layout_bottom_ico.xml
+++ b/container/testdata/doctabs/mobile/layout_bottom_ico.xml
@@ -15,7 +15,7 @@
-
+
diff --git a/container/testdata/doctabs/mobile/layout_bottom_icon_and_text.xml b/container/testdata/doctabs/mobile/layout_bottom_icon_and_text.xml
index 135bb2fa73..be9e00add3 100644
--- a/container/testdata/doctabs/mobile/layout_bottom_icon_and_text.xml
+++ b/container/testdata/doctabs/mobile/layout_bottom_icon_and_text.xml
@@ -16,7 +16,7 @@
-
+
diff --git a/container/testdata/doctabs/mobile/layout_bottom_text.xml b/container/testdata/doctabs/mobile/layout_bottom_text.xml
index 76fc19208c..704d9466a8 100644
--- a/container/testdata/doctabs/mobile/layout_bottom_text.xml
+++ b/container/testdata/doctabs/mobile/layout_bottom_text.xml
@@ -15,7 +15,7 @@
-
+
diff --git a/container/testdata/doctabs/mobile/layout_top_icon.xml b/container/testdata/doctabs/mobile/layout_top_icon.xml
index 0e7606cd6d..c2639051ef 100644
--- a/container/testdata/doctabs/mobile/layout_top_icon.xml
+++ b/container/testdata/doctabs/mobile/layout_top_icon.xml
@@ -15,7 +15,7 @@
-
+
diff --git a/container/testdata/doctabs/mobile/layout_top_icon_and_text.xml b/container/testdata/doctabs/mobile/layout_top_icon_and_text.xml
index 96f85c3e24..8b50f0680f 100644
--- a/container/testdata/doctabs/mobile/layout_top_icon_and_text.xml
+++ b/container/testdata/doctabs/mobile/layout_top_icon_and_text.xml
@@ -16,7 +16,7 @@
-
+
diff --git a/container/testdata/doctabs/mobile/layout_top_text.xml b/container/testdata/doctabs/mobile/layout_top_text.xml
index 5afd27435c..e2a0b4f244 100644
--- a/container/testdata/doctabs/mobile/layout_top_text.xml
+++ b/container/testdata/doctabs/mobile/layout_top_text.xml
@@ -15,7 +15,7 @@
-
+
diff --git a/container/testdata/doctabs/mobile/tab_location_bottom.xml b/container/testdata/doctabs/mobile/tab_location_bottom.xml
index 77de64a704..8b4e701db1 100644
--- a/container/testdata/doctabs/mobile/tab_location_bottom.xml
+++ b/container/testdata/doctabs/mobile/tab_location_bottom.xml
@@ -35,7 +35,7 @@
-
+
diff --git a/container/testdata/doctabs/mobile/tab_location_top.xml b/container/testdata/doctabs/mobile/tab_location_top.xml
index 2a38647c57..a78ea73487 100644
--- a/container/testdata/doctabs/mobile/tab_location_top.xml
+++ b/container/testdata/doctabs/mobile/tab_location_top.xml
@@ -35,7 +35,7 @@
-
+
diff --git a/container/testdata/doctabs/mobile/tapped_all_tabs.xml b/container/testdata/doctabs/mobile/tapped_all_tabs.xml
index 38a8ef6dd9..94d4bf8792 100644
--- a/container/testdata/doctabs/mobile/tapped_all_tabs.xml
+++ b/container/testdata/doctabs/mobile/tapped_all_tabs.xml
@@ -41,12 +41,12 @@
-
+
-
+
diff --git a/container/testdata/doctabs/mobile/tapped_create_tab.xml b/container/testdata/doctabs/mobile/tapped_create_tab.xml
index aaa359edd7..00e6cb6711 100644
--- a/container/testdata/doctabs/mobile/tapped_create_tab.xml
+++ b/container/testdata/doctabs/mobile/tapped_create_tab.xml
@@ -41,12 +41,12 @@
-
+
-
+
diff --git a/container/testdata/doctabs/mobile/tapped_first_selected.xml b/container/testdata/doctabs/mobile/tapped_first_selected.xml
index 950c5071d7..8299dcc854 100644
--- a/container/testdata/doctabs/mobile/tapped_first_selected.xml
+++ b/container/testdata/doctabs/mobile/tapped_first_selected.xml
@@ -27,12 +27,12 @@
-
+
-
+
diff --git a/container/testdata/doctabs/mobile/tapped_second_selected.xml b/container/testdata/doctabs/mobile/tapped_second_selected.xml
index a0db030e7d..dd421a8a68 100644
--- a/container/testdata/doctabs/mobile/tapped_second_selected.xml
+++ b/container/testdata/doctabs/mobile/tapped_second_selected.xml
@@ -27,12 +27,12 @@
-
+
-
+
diff --git a/container/testdata/doctabs/mobile/tapped_third_selected.xml b/container/testdata/doctabs/mobile/tapped_third_selected.xml
index 3b0b0fda9e..eb3338ff1e 100644
--- a/container/testdata/doctabs/mobile/tapped_third_selected.xml
+++ b/container/testdata/doctabs/mobile/tapped_third_selected.xml
@@ -27,12 +27,12 @@
-
+
-
+
diff --git a/dialog/fileitem.go b/dialog/fileitem.go
index ba1c0e0959..1ab2decf2d 100644
--- a/dialog/fileitem.go
+++ b/dialog/fileitem.go
@@ -102,7 +102,6 @@ func (s *fileItemRenderer) Layout(size fyne.Size) {
s.text.Resize(fyne.NewSize(size.Width, textMin.Height))
s.text.Move(fyne.NewPos(fileInlineIconSize, (size.Height-textMin.Height)/2))
}
- s.text.Refresh()
}
func (s *fileItemRenderer) MinSize() fyne.Size {
diff --git a/dialog/testdata/dialog-custom-custom-buttons.xml b/dialog/testdata/dialog-custom-custom-buttons.xml
index 6548865cee..54a9928653 100644
--- a/dialog/testdata/dialog-custom-custom-buttons.xml
+++ b/dialog/testdata/dialog-custom-custom-buttons.xml
@@ -27,21 +27,21 @@
-
+
1
-
+
2
-
+
3
diff --git a/go.mod b/go.mod
index 0c9b4c4d46..899268e30d 100644
--- a/go.mod
+++ b/go.mod
@@ -3,7 +3,7 @@ module fyne.io/fyne/v2
go 1.17
require (
- fyne.io/systray v1.10.1-0.20230722100817-88df1e0ffa9a
+ fyne.io/systray v1.10.1-0.20231115130155-104f5ef7839e
github.com/BurntSushi/toml v1.3.2
github.com/fogleman/gg v1.3.0
github.com/fredbi/uri v1.0.0
@@ -31,7 +31,7 @@ require (
golang.org/x/image v0.11.0
golang.org/x/mobile v0.0.0-20230531173138-3c911d8e3eda
golang.org/x/mod v0.12.0
- golang.org/x/sys v0.11.0
+ golang.org/x/sys v0.13.0
golang.org/x/tools v0.12.0
honnef.co/go/js/dom v0.0.0-20210725211120-f030747120f2
)
@@ -45,7 +45,7 @@ require (
github.com/pmezard/go-difflib v1.0.0 // indirect
github.com/russross/blackfriday/v2 v2.1.0 // indirect
github.com/tevino/abool v1.2.0 // indirect
- golang.org/x/net v0.14.0 // indirect
- golang.org/x/text v0.12.0 // indirect
+ golang.org/x/net v0.17.0 // indirect
+ golang.org/x/text v0.13.0 // indirect
gopkg.in/yaml.v3 v3.0.1 // indirect
)
diff --git a/go.sum b/go.sum
index 0e6301abae..79b30237b6 100644
--- a/go.sum
+++ b/go.sum
@@ -40,8 +40,8 @@ cloud.google.com/go/storage v1.8.0/go.mod h1:Wv1Oy7z6Yz3DshWRJFhqM/UCfaWIRTdp0RX
cloud.google.com/go/storage v1.10.0/go.mod h1:FLPqc6j+Ki4BU591ie1oL6qBQGu2Bl/tZ9ullr3+Kg0=
cloud.google.com/go/storage v1.14.0/go.mod h1:GrKmX003DSIwi9o29oFT7YDnHYwZoctc3fOKtUw0Xmo=
dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU=
-fyne.io/systray v1.10.1-0.20230722100817-88df1e0ffa9a h1:6Xf9fP3/mt72NrqlQhJWhQGcNf6GoG9X96NTaXr+K6A=
-fyne.io/systray v1.10.1-0.20230722100817-88df1e0ffa9a/go.mod h1:oM2AQqGJ1AMo4nNqZFYU8xYygSBZkW2hmdJ7n4yjedE=
+fyne.io/systray v1.10.1-0.20231115130155-104f5ef7839e h1:Hvs+kW2VwCzNToF3FmnIAzmivNgrclwPgoUdVSrjkP8=
+fyne.io/systray v1.10.1-0.20231115130155-104f5ef7839e/go.mod h1:oM2AQqGJ1AMo4nNqZFYU8xYygSBZkW2hmdJ7n4yjedE=
github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU=
github.com/BurntSushi/toml v1.3.2 h1:o7IhLm0Msx3BaB+n3Ag7L8EVlByGnpq14C4YWiu/gL8=
github.com/BurntSushi/toml v1.3.2/go.mod h1:CxXYINrC8qIiEnFrOxCa7Jy5BFHlXnUU2pbicEuybxQ=
@@ -338,6 +338,7 @@ golang.org/x/crypto v0.0.0-20210711020723-a769d52b0f97/go.mod h1:GvvjBRRGRdwPK5y
golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc=
golang.org/x/crypto v0.0.0-20220722155217-630584e8d5aa/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4=
golang.org/x/crypto v0.12.0/go.mod h1:NF0Gs7EO5K4qLn+Ylc+fih8BSTeIjAP05siRnAh98yw=
+golang.org/x/crypto v0.14.0/go.mod h1:MVFd36DqK4CsrnJYDkBA3VC4m2GkXAM0PvzMCn4JQf4=
golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8=
@@ -429,8 +430,9 @@ golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug
golang.org/x/net v0.6.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs=
golang.org/x/net v0.9.0/go.mod h1:d48xBJpPfHeWQsugry2m+kC02ZBRGRgulfHnEXEuWns=
golang.org/x/net v0.10.0/go.mod h1:0qNGK6F8kojg2nk9dLZ2mShWaEBan6FAoqfSigmmuDg=
-golang.org/x/net v0.14.0 h1:BONx9s002vGdD9umnlX1Po8vOZmrgH34qlHcD1MfK14=
golang.org/x/net v0.14.0/go.mod h1:PpSgVXXLK0OxS0F31C1/tv6XNguvCrnXIDrFMspZIUI=
+golang.org/x/net v0.17.0 h1:pVaXccu2ozPjCXewfr1S7xza/zcXTity9cCdXQYSjIM=
+golang.org/x/net v0.17.0/go.mod h1:NxSsAGuq816PNPmqtQdLE42eU2Fs7NoRIZrHJAlaCOE=
golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
@@ -515,14 +517,16 @@ golang.org/x/sys v0.1.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.7.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
-golang.org/x/sys v0.11.0 h1:eG7RXZHdqOJ1i+0lgLgCpSXAp6M3LYlAo6osgSi0xOM=
golang.org/x/sys v0.11.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.13.0 h1:Af8nKPmuFypiUBjVoU9V20FiaFXOcuZI21p0ycVYYGE=
+golang.org/x/sys v0.13.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k=
golang.org/x/term v0.7.0/go.mod h1:P32HKFT3hSsZrRxla30E9HqToFYAQPCMs/zFMBUFqPY=
golang.org/x/term v0.8.0/go.mod h1:xPskH00ivmX89bAKVGSKKtLOWNx2+17Eiy94tnKShWo=
golang.org/x/term v0.11.0/go.mod h1:zC9APTIj3jG3FdV/Ons+XE1riIZXG4aZ4GTHiPZJPIU=
+golang.org/x/term v0.13.0/go.mod h1:LTmsnFJwVN6bCy1rVCoS+qHT1HhALEFxKncY3WNNh4U=
golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
@@ -535,8 +539,9 @@ golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ=
golang.org/x/text v0.6.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8=
golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8=
golang.org/x/text v0.9.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8=
-golang.org/x/text v0.12.0 h1:k+n5B8goJNdU7hSvEtMUz3d1Q6D/XW4COJSJR6fN0mc=
golang.org/x/text v0.12.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE=
+golang.org/x/text v0.13.0 h1:ablQoSUd0tRdKxZewP80B+BaqeKJuVhuRxj/dkrun3k=
+golang.org/x/text v0.13.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE=
golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
diff --git a/internal/driver/glfw/driver_desktop.go b/internal/driver/glfw/driver_desktop.go
index 6d6fd635cc..5660d745ed 100644
--- a/internal/driver/glfw/driver_desktop.go
+++ b/internal/driver/glfw/driver_desktop.go
@@ -46,6 +46,13 @@ func (d *gLDriver) SetSystemTrayMenu(m *fyne.Menu) {
d.SetSystemTrayIcon(theme.BrokenImageIcon())
}
+ app := fyne.CurrentApp()
+ title := app.Metadata().Name
+ if title == "" {
+ title = app.UniqueID()
+ }
+ systray.SetTitle(title)
+
// it must be refreshed after init, so an earlier call would have been ineffective
d.refreshSystray(m)
}, func() {
diff --git a/internal/driver/glfw/glfw_core.go b/internal/driver/glfw/glfw_core.go
index ff6560800a..7026d449eb 100644
--- a/internal/driver/glfw/glfw_core.go
+++ b/internal/driver/glfw/glfw_core.go
@@ -10,7 +10,7 @@ import "github.com/go-gl/glfw/v3.3/glfw"
func initWindowHints() {
glfw.WindowHint(glfw.ContextVersionMajor, 2)
- glfw.WindowHint(glfw.ContextVersionMinor, 0)
+ glfw.WindowHint(glfw.ContextVersionMinor, 1)
glfw.WindowHint(glfw.CocoaGraphicsSwitching, glfw.True)
}
diff --git a/internal/driver/glfw/glfw_es.go b/internal/driver/glfw/glfw_es.go
index 2dd30cf459..b3ec94a37a 100644
--- a/internal/driver/glfw/glfw_es.go
+++ b/internal/driver/glfw/glfw_es.go
@@ -12,5 +12,5 @@ import "github.com/go-gl/glfw/v3.3/glfw"
func initWindowHints() {
glfw.WindowHint(glfw.ClientAPI, glfw.OpenGLESAPI)
glfw.WindowHint(glfw.ContextVersionMajor, 2)
- glfw.WindowHint(glfw.ContextVersionMinor, 0)
+ glfw.WindowHint(glfw.ContextVersionMinor, 1)
}
diff --git a/internal/driver/glfw/loop.go b/internal/driver/glfw/loop.go
index 34c5c2ecc4..9098f39d01 100644
--- a/internal/driver/glfw/loop.go
+++ b/internal/driver/glfw/loop.go
@@ -74,8 +74,15 @@ func runOnDraw(w *window, f func()) {
<-done
}
+// Preallocate to avoid allocations on every drawSingleFrame.
+// Note that the capacity of this slice can only grow,
+// but its length will never be longer than the total number of
+// window canvases that are dirty on a single frame.
+// So its memory impact should be negligible and does not
+// need periodic shrinking.
+var refreshingCanvases []fyne.Canvas
+
func (d *gLDriver) drawSingleFrame() {
- refreshingCanvases := make([]fyne.Canvas, 0)
for _, win := range d.windowList() {
w := win.(*window)
w.viewLock.RLock()
@@ -96,6 +103,12 @@ func (d *gLDriver) drawSingleFrame() {
refreshingCanvases = append(refreshingCanvases, canvas)
}
cache.CleanCanvases(refreshingCanvases)
+
+ // cleanup refreshingCanvases slice
+ for i := 0; i < len(refreshingCanvases); i++ {
+ refreshingCanvases[i] = nil
+ }
+ refreshingCanvases = refreshingCanvases[:0]
}
func (d *gLDriver) runGL() {
diff --git a/internal/painter/gl/gl_core.go b/internal/painter/gl/gl_core.go
index 25d9749130..2b9f45b5ee 100644
--- a/internal/painter/gl/gl_core.go
+++ b/internal/painter/gl/gl_core.go
@@ -6,7 +6,7 @@ package gl
import (
"strings"
- "github.com/go-gl/gl/v3.2-core/gl"
+ "github.com/go-gl/gl/v2.1/gl"
"fyne.io/fyne/v2"
)
diff --git a/layout/boxlayout.go b/layout/boxlayout.go
index 38ae43c758..248505b745 100644
--- a/layout/boxlayout.go
+++ b/layout/boxlayout.go
@@ -51,16 +51,20 @@ func (g *boxLayout) isSpacer(obj fyne.CanvasObject) bool {
// Any spacers added will pad the view, sharing the space if there are two or more.
func (g *boxLayout) Layout(objects []fyne.CanvasObject, size fyne.Size) {
spacers := 0
+ visibleObjects := 0
+ // Size taken up by visible objects
total := float32(0)
+
for _, child := range objects {
if !child.Visible() {
continue
}
-
if g.isSpacer(child) {
spacers++
continue
}
+
+ visibleObjects++
if g.horizontal {
total += child.MinSize().Width
} else {
@@ -69,15 +73,19 @@ func (g *boxLayout) Layout(objects []fyne.CanvasObject, size fyne.Size) {
}
padding := theme.Padding()
+
+ // Amount of space not taken up by visible objects and inter-object padding
var extra float32
if g.horizontal {
- extra = size.Width - total - (padding * float32(len(objects)-spacers-1))
+ extra = size.Width - total - (padding * float32(visibleObjects-1))
} else {
- extra = size.Height - total - (padding * float32(len(objects)-spacers-1))
+ extra = size.Height - total - (padding * float32(visibleObjects-1))
}
- extraCell := float32(0)
+
+ // Spacers split extra space equally
+ spacerSize := float32(0)
if spacers > 0 {
- extraCell = extra / float32(spacers)
+ spacerSize = extra / float32(spacers)
}
x, y := float32(0), float32(0)
@@ -88,9 +96,9 @@ func (g *boxLayout) Layout(objects []fyne.CanvasObject, size fyne.Size) {
if g.isSpacer(child) {
if g.horizontal {
- x += extraCell
+ x += spacerSize
} else {
- y += extraCell
+ y += spacerSize
}
continue
}
diff --git a/layout/boxlayout_test.go b/layout/boxlayout_test.go
index 353949da50..310a8a0e9d 100644
--- a/layout/boxlayout_test.go
+++ b/layout/boxlayout_test.go
@@ -259,3 +259,20 @@ func TestVBoxLayout_MiddleSpacer(t *testing.T) {
cell3Pos := fyne.NewPos(0, 250)
assert.Equal(t, cell3Pos, obj3.Position())
}
+
+// Test for issue #4259 - spacer in HBox with hidden item causing add'l trailing padding
+func TestHBoxLayout_MiddleSpacerHiddenItem(t *testing.T) {
+ cellSize := fyne.NewSize(100, 50)
+
+ obj1 := NewMinSizeRect(cellSize)
+ obj2 := NewMinSizeRect(cellSize)
+ obj3 := NewMinSizeRect(cellSize)
+
+ container := container.NewHBox(obj1, obj2, layout.NewSpacer(), obj3)
+ container.Resize(fyne.NewSize(400, 100))
+ assert.Equal(t, fyne.NewPos(300, 0), obj3.Position())
+
+ obj2.Hide()
+ container.Refresh()
+ assert.Equal(t, fyne.NewPos(300, 0), obj3.Position())
+}
diff --git a/uri.go b/uri.go
index 36e5373116..3bab3532ff 100644
--- a/uri.go
+++ b/uri.go
@@ -33,9 +33,9 @@ type URI interface {
fmt.Stringer
// Extension should return the file extension of the resource
- // referenced by the URI. For example, the Extension() of
- // 'file://foo/bar.baz' is 'baz'. May return an empty string if the
- // referenced resource has none.
+ // (including the dot) referenced by the URI. For example, the
+ // Extension() of 'file://foo/bar.baz' is '.baz'. May return an
+ // empty string if the referenced resource has none.
Extension() string
// Name should return the base name of the item referenced by the URI.
diff --git a/widget/button.go b/widget/button.go
index 53f30e1701..40d5dad6b1 100644
--- a/widget/button.go
+++ b/widget/button.go
@@ -282,6 +282,7 @@ type buttonRenderer struct {
// Layout the components of the button widget
func (r *buttonRenderer) Layout(size fyne.Size) {
r.background.Resize(size)
+ r.tapBG.Resize(size)
hasIcon := r.icon != nil
hasLabel := r.label.Segments[0].(*TextSegment).Text != ""
@@ -452,7 +453,11 @@ func newButtonTapAnimation(bg *canvas.Rectangle, w fyne.Widget) *fyne.Animation
r, g, bb, a := col.ToNRGBA(theme.PressedColor())
aa := uint8(a)
fade := aa - uint8(float32(aa)*done)
- bg.FillColor = &color.NRGBA{R: uint8(r), G: uint8(g), B: uint8(bb), A: fade}
+ if fade > 0 {
+ bg.FillColor = &color.NRGBA{R: uint8(r), G: uint8(g), B: uint8(bb), A: fade}
+ } else {
+ bg.FillColor = color.Transparent
+ }
canvas.Refresh(bg)
})
}
diff --git a/widget/entry.go b/widget/entry.go
index 15629c48e7..1cbb707fcf 100644
--- a/widget/entry.go
+++ b/widget/entry.go
@@ -197,6 +197,7 @@ func (e *Entry) CreateRenderer() fyne.WidgetRenderer {
objects = append(objects, e.ActionItem)
}
+ e.syncSegments()
return &entryRenderer{box, border, e.scroll, objects, e}
}
@@ -910,6 +911,7 @@ func (e *Entry) pasteFromClipboard(clipboard fyne.Clipboard) {
e.updateTextAndRefresh(provider.String())
e.CursorRow, e.CursorColumn = e.rowColFromTextPos(pos + len(runes))
+ e.Refresh() // placing the cursor (and refreshing) happens last
}
// placeholderProvider returns the placeholder text handler for this entry
diff --git a/widget/entry_password_test.go b/widget/entry_password_test.go
new file mode 100644
index 0000000000..10742737fa
--- /dev/null
+++ b/widget/entry_password_test.go
@@ -0,0 +1,25 @@
+package widget_test
+
+import (
+ "testing"
+
+ "fyne.io/fyne/v2"
+ "fyne.io/fyne/v2/canvas"
+ "fyne.io/fyne/v2/container"
+ "fyne.io/fyne/v2/test"
+ "fyne.io/fyne/v2/widget"
+ "github.com/stretchr/testify/assert"
+)
+
+func TestNewPasswordEntry(t *testing.T) {
+ p := widget.NewPasswordEntry()
+ p.Text = "visible"
+ r := test.WidgetRenderer(p)
+
+ cont := r.Objects()[2].(*container.Scroll).Content.(fyne.Widget)
+ r = test.WidgetRenderer(cont)
+ rich := r.Objects()[1].(*widget.RichText)
+ r = test.WidgetRenderer(rich)
+
+ assert.Equal(t, "•••••••", r.Objects()[0].(*canvas.Text).Text)
+}
diff --git a/widget/richtext.go b/widget/richtext.go
index 9ef858d79e..6b14fb9f71 100644
--- a/widget/richtext.go
+++ b/widget/richtext.go
@@ -707,6 +707,7 @@ func (r *textRenderer) Refresh() {
r.obj.propertyLock.Unlock()
r.Layout(r.obj.Size())
+ canvas.Refresh(r.obj.super())
}
func (r *textRenderer) layoutRow(texts []fyne.CanvasObject, align fyne.TextAlign, xPos, yPos, lineWidth float32) (float32, float32) {
diff --git a/widget/richtext_objects.go b/widget/richtext_objects.go
index 7f01555a61..64a599f3ff 100644
--- a/widget/richtext_objects.go
+++ b/widget/richtext_objects.go
@@ -321,7 +321,9 @@ func (p *ParagraphSegment) Unselect() {
// SeparatorSegment includes a horizontal separator in a rich text widget.
//
// Since: 2.1
-type SeparatorSegment struct{}
+type SeparatorSegment struct {
+ _ bool // Without this a pointer to SeparatorSegment will always be the same.
+}
// Inline returns false as a separator should be full width.
func (s *SeparatorSegment) Inline() bool {
diff --git a/widget/testdata/accordion/layout_expanded_multiple_open_multiple_items.xml b/widget/testdata/accordion/layout_expanded_multiple_open_multiple_items.xml
index 9a5dc5e3c7..954e3534de 100644
--- a/widget/testdata/accordion/layout_expanded_multiple_open_multiple_items.xml
+++ b/widget/testdata/accordion/layout_expanded_multiple_open_multiple_items.xml
@@ -4,7 +4,7 @@
-
+
A
@@ -12,7 +12,7 @@
-
+
B
diff --git a/widget/testdata/accordion/layout_expanded_multiple_open_multiple_items_opened.xml b/widget/testdata/accordion/layout_expanded_multiple_open_multiple_items_opened.xml
index 3c1d9517cd..f04c797c0e 100644
--- a/widget/testdata/accordion/layout_expanded_multiple_open_multiple_items_opened.xml
+++ b/widget/testdata/accordion/layout_expanded_multiple_open_multiple_items_opened.xml
@@ -4,7 +4,7 @@
-
+
A
@@ -12,7 +12,7 @@
-
+
B
diff --git a/widget/testdata/accordion/layout_expanded_multiple_open_one_item.xml b/widget/testdata/accordion/layout_expanded_multiple_open_one_item.xml
index 4e1c44b7a6..ad0531f594 100644
--- a/widget/testdata/accordion/layout_expanded_multiple_open_one_item.xml
+++ b/widget/testdata/accordion/layout_expanded_multiple_open_one_item.xml
@@ -4,7 +4,7 @@
-
+
A
diff --git a/widget/testdata/accordion/layout_expanded_multiple_open_one_item_opened.xml b/widget/testdata/accordion/layout_expanded_multiple_open_one_item_opened.xml
index a3c2e487f3..131934a3e9 100644
--- a/widget/testdata/accordion/layout_expanded_multiple_open_one_item_opened.xml
+++ b/widget/testdata/accordion/layout_expanded_multiple_open_one_item_opened.xml
@@ -4,7 +4,7 @@
-
+
A
diff --git a/widget/testdata/accordion/layout_expanded_single_open_multiple_items.xml b/widget/testdata/accordion/layout_expanded_single_open_multiple_items.xml
index 9a5dc5e3c7..954e3534de 100644
--- a/widget/testdata/accordion/layout_expanded_single_open_multiple_items.xml
+++ b/widget/testdata/accordion/layout_expanded_single_open_multiple_items.xml
@@ -4,7 +4,7 @@
-
+
A
@@ -12,7 +12,7 @@
-
+
B
diff --git a/widget/testdata/accordion/layout_expanded_single_open_multiple_items_opened.xml b/widget/testdata/accordion/layout_expanded_single_open_multiple_items_opened.xml
index f9ac150210..f6ab3f6ddc 100644
--- a/widget/testdata/accordion/layout_expanded_single_open_multiple_items_opened.xml
+++ b/widget/testdata/accordion/layout_expanded_single_open_multiple_items_opened.xml
@@ -4,7 +4,7 @@
-
+
A
@@ -12,7 +12,7 @@
-
+
B
diff --git a/widget/testdata/accordion/layout_expanded_single_open_one_item.xml b/widget/testdata/accordion/layout_expanded_single_open_one_item.xml
index 4e1c44b7a6..ad0531f594 100644
--- a/widget/testdata/accordion/layout_expanded_single_open_one_item.xml
+++ b/widget/testdata/accordion/layout_expanded_single_open_one_item.xml
@@ -4,7 +4,7 @@
-
+
A
diff --git a/widget/testdata/accordion/layout_expanded_single_open_one_item_opened.xml b/widget/testdata/accordion/layout_expanded_single_open_one_item_opened.xml
index a3c2e487f3..131934a3e9 100644
--- a/widget/testdata/accordion/layout_expanded_single_open_one_item_opened.xml
+++ b/widget/testdata/accordion/layout_expanded_single_open_one_item_opened.xml
@@ -4,7 +4,7 @@
-
+
A
diff --git a/widget/testdata/accordion/layout_multiple_open_multiple_items.xml b/widget/testdata/accordion/layout_multiple_open_multiple_items.xml
index bb1c7b7d8f..637b97f8d2 100644
--- a/widget/testdata/accordion/layout_multiple_open_multiple_items.xml
+++ b/widget/testdata/accordion/layout_multiple_open_multiple_items.xml
@@ -4,7 +4,7 @@
-
+
A
@@ -12,7 +12,7 @@
-
+
B
diff --git a/widget/testdata/accordion/layout_multiple_open_multiple_items_opened.xml b/widget/testdata/accordion/layout_multiple_open_multiple_items_opened.xml
index 9c0e2adf6a..2d3974044b 100644
--- a/widget/testdata/accordion/layout_multiple_open_multiple_items_opened.xml
+++ b/widget/testdata/accordion/layout_multiple_open_multiple_items_opened.xml
@@ -4,7 +4,7 @@
-
+
A
@@ -12,7 +12,7 @@
-
+
B
diff --git a/widget/testdata/accordion/layout_multiple_open_one_item.xml b/widget/testdata/accordion/layout_multiple_open_one_item.xml
index 17017f30bb..8835a72d89 100644
--- a/widget/testdata/accordion/layout_multiple_open_one_item.xml
+++ b/widget/testdata/accordion/layout_multiple_open_one_item.xml
@@ -4,7 +4,7 @@
-
+
A
diff --git a/widget/testdata/accordion/layout_multiple_open_one_item_opened.xml b/widget/testdata/accordion/layout_multiple_open_one_item_opened.xml
index 217136f83e..a6ed74265f 100644
--- a/widget/testdata/accordion/layout_multiple_open_one_item_opened.xml
+++ b/widget/testdata/accordion/layout_multiple_open_one_item_opened.xml
@@ -4,7 +4,7 @@
-
+
A
diff --git a/widget/testdata/accordion/layout_single_open_multiple_items.xml b/widget/testdata/accordion/layout_single_open_multiple_items.xml
index bb1c7b7d8f..637b97f8d2 100644
--- a/widget/testdata/accordion/layout_single_open_multiple_items.xml
+++ b/widget/testdata/accordion/layout_single_open_multiple_items.xml
@@ -4,7 +4,7 @@
-
+
A
@@ -12,7 +12,7 @@
-
+
B
diff --git a/widget/testdata/accordion/layout_single_open_multiple_items_opened.xml b/widget/testdata/accordion/layout_single_open_multiple_items_opened.xml
index 13f2bb1166..46335054c2 100644
--- a/widget/testdata/accordion/layout_single_open_multiple_items_opened.xml
+++ b/widget/testdata/accordion/layout_single_open_multiple_items_opened.xml
@@ -4,7 +4,7 @@
-
+
A
@@ -12,7 +12,7 @@
-
+
B
diff --git a/widget/testdata/accordion/layout_single_open_one_item.xml b/widget/testdata/accordion/layout_single_open_one_item.xml
index 17017f30bb..8835a72d89 100644
--- a/widget/testdata/accordion/layout_single_open_one_item.xml
+++ b/widget/testdata/accordion/layout_single_open_one_item.xml
@@ -4,7 +4,7 @@
-
+
A
diff --git a/widget/testdata/accordion/layout_single_open_one_item_opened.xml b/widget/testdata/accordion/layout_single_open_one_item_opened.xml
index 217136f83e..a6ed74265f 100644
--- a/widget/testdata/accordion/layout_single_open_one_item_opened.xml
+++ b/widget/testdata/accordion/layout_single_open_one_item_opened.xml
@@ -4,7 +4,7 @@
-
+
A
diff --git a/widget/testdata/button/layout_icon_only_center_leading.xml b/widget/testdata/button/layout_icon_only_center_leading.xml
index fcbd520e18..21fb65892a 100644
--- a/widget/testdata/button/layout_icon_only_center_leading.xml
+++ b/widget/testdata/button/layout_icon_only_center_leading.xml
@@ -2,7 +2,7 @@
-
+
diff --git a/widget/testdata/button/layout_icon_only_center_trailing.xml b/widget/testdata/button/layout_icon_only_center_trailing.xml
index fcbd520e18..21fb65892a 100644
--- a/widget/testdata/button/layout_icon_only_center_trailing.xml
+++ b/widget/testdata/button/layout_icon_only_center_trailing.xml
@@ -2,7 +2,7 @@
-
+
diff --git a/widget/testdata/button/layout_icon_only_leading_leading.xml b/widget/testdata/button/layout_icon_only_leading_leading.xml
index 34cc8ff549..2a533961a1 100644
--- a/widget/testdata/button/layout_icon_only_leading_leading.xml
+++ b/widget/testdata/button/layout_icon_only_leading_leading.xml
@@ -2,7 +2,7 @@
-
+
diff --git a/widget/testdata/button/layout_icon_only_leading_trailing.xml b/widget/testdata/button/layout_icon_only_leading_trailing.xml
index 34cc8ff549..2a533961a1 100644
--- a/widget/testdata/button/layout_icon_only_leading_trailing.xml
+++ b/widget/testdata/button/layout_icon_only_leading_trailing.xml
@@ -2,7 +2,7 @@
-
+
diff --git a/widget/testdata/button/layout_icon_only_trailing_leading.xml b/widget/testdata/button/layout_icon_only_trailing_leading.xml
index fef05fce42..c288a884fd 100644
--- a/widget/testdata/button/layout_icon_only_trailing_leading.xml
+++ b/widget/testdata/button/layout_icon_only_trailing_leading.xml
@@ -2,7 +2,7 @@
-
+
diff --git a/widget/testdata/button/layout_icon_only_trailing_trailing.xml b/widget/testdata/button/layout_icon_only_trailing_trailing.xml
index fef05fce42..c288a884fd 100644
--- a/widget/testdata/button/layout_icon_only_trailing_trailing.xml
+++ b/widget/testdata/button/layout_icon_only_trailing_trailing.xml
@@ -2,7 +2,7 @@
-
+
diff --git a/widget/testdata/button/layout_text_icon_center_leading.xml b/widget/testdata/button/layout_text_icon_center_leading.xml
index 9afdb568f3..47fe2c5f23 100644
--- a/widget/testdata/button/layout_text_icon_center_leading.xml
+++ b/widget/testdata/button/layout_text_icon_center_leading.xml
@@ -2,7 +2,7 @@
-
+
Test
diff --git a/widget/testdata/button/layout_text_icon_center_trailing.xml b/widget/testdata/button/layout_text_icon_center_trailing.xml
index 6bfb5b7ea1..14a97153c7 100644
--- a/widget/testdata/button/layout_text_icon_center_trailing.xml
+++ b/widget/testdata/button/layout_text_icon_center_trailing.xml
@@ -2,7 +2,7 @@
-
+
Test
diff --git a/widget/testdata/button/layout_text_icon_leading_leading.xml b/widget/testdata/button/layout_text_icon_leading_leading.xml
index 55bf7a9019..9c92ec23d0 100644
--- a/widget/testdata/button/layout_text_icon_leading_leading.xml
+++ b/widget/testdata/button/layout_text_icon_leading_leading.xml
@@ -2,7 +2,7 @@
-
+
Test
diff --git a/widget/testdata/button/layout_text_icon_leading_trailing.xml b/widget/testdata/button/layout_text_icon_leading_trailing.xml
index c43ddc95ba..1f6a482bcd 100644
--- a/widget/testdata/button/layout_text_icon_leading_trailing.xml
+++ b/widget/testdata/button/layout_text_icon_leading_trailing.xml
@@ -2,7 +2,7 @@
-
+
Test
diff --git a/widget/testdata/button/layout_text_icon_trailing_leading.xml b/widget/testdata/button/layout_text_icon_trailing_leading.xml
index 285c83a24d..98004a5386 100644
--- a/widget/testdata/button/layout_text_icon_trailing_leading.xml
+++ b/widget/testdata/button/layout_text_icon_trailing_leading.xml
@@ -2,7 +2,7 @@
-
+
Test
diff --git a/widget/testdata/button/layout_text_icon_trailing_trailing.xml b/widget/testdata/button/layout_text_icon_trailing_trailing.xml
index 49214268a6..293aa6c307 100644
--- a/widget/testdata/button/layout_text_icon_trailing_trailing.xml
+++ b/widget/testdata/button/layout_text_icon_trailing_trailing.xml
@@ -2,7 +2,7 @@
-
+
Test
diff --git a/widget/testdata/button/layout_text_only_center_leading.xml b/widget/testdata/button/layout_text_only_center_leading.xml
index e418e45420..020ebe919f 100644
--- a/widget/testdata/button/layout_text_only_center_leading.xml
+++ b/widget/testdata/button/layout_text_only_center_leading.xml
@@ -2,7 +2,7 @@
-
+
Test
diff --git a/widget/testdata/button/layout_text_only_center_trailing.xml b/widget/testdata/button/layout_text_only_center_trailing.xml
index e418e45420..020ebe919f 100644
--- a/widget/testdata/button/layout_text_only_center_trailing.xml
+++ b/widget/testdata/button/layout_text_only_center_trailing.xml
@@ -2,7 +2,7 @@
-
+
Test
diff --git a/widget/testdata/button/layout_text_only_leading_leading.xml b/widget/testdata/button/layout_text_only_leading_leading.xml
index f961a3eb0a..d33959fcfa 100644
--- a/widget/testdata/button/layout_text_only_leading_leading.xml
+++ b/widget/testdata/button/layout_text_only_leading_leading.xml
@@ -2,7 +2,7 @@
-
+
Test
diff --git a/widget/testdata/button/layout_text_only_leading_trailing.xml b/widget/testdata/button/layout_text_only_leading_trailing.xml
index f961a3eb0a..d33959fcfa 100644
--- a/widget/testdata/button/layout_text_only_leading_trailing.xml
+++ b/widget/testdata/button/layout_text_only_leading_trailing.xml
@@ -2,7 +2,7 @@
-
+
Test
diff --git a/widget/testdata/button/layout_text_only_multiline.xml b/widget/testdata/button/layout_text_only_multiline.xml
index 28538c9997..57e795d704 100644
--- a/widget/testdata/button/layout_text_only_multiline.xml
+++ b/widget/testdata/button/layout_text_only_multiline.xml
@@ -2,7 +2,7 @@
-
+
Test
Line2
diff --git a/widget/testdata/button/layout_text_only_trailing_leading.xml b/widget/testdata/button/layout_text_only_trailing_leading.xml
index 2bbdd56d8d..495cdd1622 100644
--- a/widget/testdata/button/layout_text_only_trailing_leading.xml
+++ b/widget/testdata/button/layout_text_only_trailing_leading.xml
@@ -2,7 +2,7 @@
-
+
Test
diff --git a/widget/testdata/button/layout_text_only_trailing_trailing.xml b/widget/testdata/button/layout_text_only_trailing_trailing.xml
index 2bbdd56d8d..495cdd1622 100644
--- a/widget/testdata/button/layout_text_only_trailing_trailing.xml
+++ b/widget/testdata/button/layout_text_only_trailing_trailing.xml
@@ -2,7 +2,7 @@
-
+
Test
diff --git a/widget/testdata/form/extended_entry.xml b/widget/testdata/form/extended_entry.xml
index 027474e8b9..6161c15217 100644
--- a/widget/testdata/form/extended_entry.xml
+++ b/widget/testdata/form/extended_entry.xml
@@ -19,7 +19,7 @@
-
+
diff --git a/widget/testdata/form/layout.xml b/widget/testdata/form/layout.xml
index c36d8b4c1d..16d5ab033f 100644
--- a/widget/testdata/form/layout.xml
+++ b/widget/testdata/form/layout.xml
@@ -38,7 +38,7 @@
-
+
Cancel
@@ -46,7 +46,7 @@
-
+
Submit
diff --git a/widget/testdata/select/center.xml b/widget/testdata/select/center.xml
index fb67246fd2..3ccd92e4c2 100644
--- a/widget/testdata/select/center.xml
+++ b/widget/testdata/select/center.xml
@@ -3,7 +3,7 @@
-
+
(Select one)
diff --git a/widget/testdata/select/layout_empty_expanded.xml b/widget/testdata/select/layout_empty_expanded.xml
index 4eefc763d6..630abc1f28 100644
--- a/widget/testdata/select/layout_empty_expanded.xml
+++ b/widget/testdata/select/layout_empty_expanded.xml
@@ -3,7 +3,7 @@
-
+
(Select one)
diff --git a/widget/testdata/select/layout_empty_expanded_placeholder.xml b/widget/testdata/select/layout_empty_expanded_placeholder.xml
index c17a62e069..cb2478c249 100644
--- a/widget/testdata/select/layout_empty_expanded_placeholder.xml
+++ b/widget/testdata/select/layout_empty_expanded_placeholder.xml
@@ -3,7 +3,7 @@
-
+
(Pick 1)
diff --git a/widget/testdata/select/layout_multiple_expanded.xml b/widget/testdata/select/layout_multiple_expanded.xml
index a353cc025a..6a2d3207bb 100644
--- a/widget/testdata/select/layout_multiple_expanded.xml
+++ b/widget/testdata/select/layout_multiple_expanded.xml
@@ -3,7 +3,7 @@
-
+
(Select one)
diff --git a/widget/testdata/select/layout_multiple_expanded_placeholder.xml b/widget/testdata/select/layout_multiple_expanded_placeholder.xml
index de28019da3..2364830489 100644
--- a/widget/testdata/select/layout_multiple_expanded_placeholder.xml
+++ b/widget/testdata/select/layout_multiple_expanded_placeholder.xml
@@ -3,7 +3,7 @@
-
+
(Pick 1)
diff --git a/widget/testdata/select/layout_multiple_expanded_selected.xml b/widget/testdata/select/layout_multiple_expanded_selected.xml
index 31095a8c53..3b3b7f69cd 100644
--- a/widget/testdata/select/layout_multiple_expanded_selected.xml
+++ b/widget/testdata/select/layout_multiple_expanded_selected.xml
@@ -3,7 +3,7 @@
-
+
Foo
diff --git a/widget/testdata/select/layout_multiple_expanded_selected_placeholder.xml b/widget/testdata/select/layout_multiple_expanded_selected_placeholder.xml
index 17b36e4101..47b7a639c2 100644
--- a/widget/testdata/select/layout_multiple_expanded_selected_placeholder.xml
+++ b/widget/testdata/select/layout_multiple_expanded_selected_placeholder.xml
@@ -3,7 +3,7 @@
-
+
Foo
diff --git a/widget/testdata/select/layout_single_expanded.xml b/widget/testdata/select/layout_single_expanded.xml
index 89486fc35d..adad72e40c 100644
--- a/widget/testdata/select/layout_single_expanded.xml
+++ b/widget/testdata/select/layout_single_expanded.xml
@@ -3,7 +3,7 @@
-
+
(Select one)
diff --git a/widget/testdata/select/layout_single_expanded_placeholder.xml b/widget/testdata/select/layout_single_expanded_placeholder.xml
index 072403378d..a9b34ec610 100644
--- a/widget/testdata/select/layout_single_expanded_placeholder.xml
+++ b/widget/testdata/select/layout_single_expanded_placeholder.xml
@@ -3,7 +3,7 @@
-
+
(Pick 1)
diff --git a/widget/testdata/select/layout_single_expanded_selected.xml b/widget/testdata/select/layout_single_expanded_selected.xml
index 2b9a8d54fc..1fdb491d9a 100644
--- a/widget/testdata/select/layout_single_expanded_selected.xml
+++ b/widget/testdata/select/layout_single_expanded_selected.xml
@@ -3,7 +3,7 @@
-
+
Test
diff --git a/widget/testdata/select/layout_single_expanded_selected_placeholder.xml b/widget/testdata/select/layout_single_expanded_selected_placeholder.xml
index c5abfef16d..df46cffae4 100644
--- a/widget/testdata/select/layout_single_expanded_selected_placeholder.xml
+++ b/widget/testdata/select/layout_single_expanded_selected_placeholder.xml
@@ -3,7 +3,7 @@
-
+
Test
diff --git a/widget/testdata/select/move_moved.xml b/widget/testdata/select/move_moved.xml
index f08525a41b..e311ab9cea 100644
--- a/widget/testdata/select/move_moved.xml
+++ b/widget/testdata/select/move_moved.xml
@@ -2,7 +2,7 @@
-
+
(Select one)
diff --git a/widget/testdata/select/move_tapped.xml b/widget/testdata/select/move_tapped.xml
index ee5cf9c5fc..017960f3ed 100644
--- a/widget/testdata/select/move_tapped.xml
+++ b/widget/testdata/select/move_tapped.xml
@@ -2,7 +2,7 @@
-
+
(Select one)
diff --git a/widget/testdata/select/tapped.xml b/widget/testdata/select/tapped.xml
index 7ddf051a42..df409ff160 100644
--- a/widget/testdata/select/tapped.xml
+++ b/widget/testdata/select/tapped.xml
@@ -2,7 +2,7 @@
-
+
(Select one)
diff --git a/widget/testdata/select/tapped_constrained.xml b/widget/testdata/select/tapped_constrained.xml
index 22a2029a77..52da061503 100644
--- a/widget/testdata/select/tapped_constrained.xml
+++ b/widget/testdata/select/tapped_constrained.xml
@@ -2,7 +2,7 @@
-
+
(Select one)
diff --git a/widget/testdata/select/trailing.xml b/widget/testdata/select/trailing.xml
index 512e2cea16..44760dd9e0 100644
--- a/widget/testdata/select/trailing.xml
+++ b/widget/testdata/select/trailing.xml
@@ -3,7 +3,7 @@
-
+
(Select one)
diff --git a/widget/testdata/select_entry/disableable_disabled.xml b/widget/testdata/select_entry/disableable_disabled.xml
index 6ab6eacf02..fb1040ca2a 100644
--- a/widget/testdata/select_entry/disableable_disabled.xml
+++ b/widget/testdata/select_entry/disableable_disabled.xml
@@ -15,7 +15,7 @@
-
+
diff --git a/widget/testdata/select_entry/disableable_enabled.xml b/widget/testdata/select_entry/disableable_enabled.xml
index 6d461450ae..9957cf2710 100644
--- a/widget/testdata/select_entry/disableable_enabled.xml
+++ b/widget/testdata/select_entry/disableable_enabled.xml
@@ -15,7 +15,7 @@
-
+
diff --git a/widget/testdata/select_entry/disableable_enabled_opened.xml b/widget/testdata/select_entry/disableable_enabled_opened.xml
index abedfa159f..62fa2866c8 100644
--- a/widget/testdata/select_entry/disableable_enabled_opened.xml
+++ b/widget/testdata/select_entry/disableable_enabled_opened.xml
@@ -15,7 +15,7 @@
-
+
diff --git a/widget/testdata/select_entry/disableable_enabled_tapped.xml b/widget/testdata/select_entry/disableable_enabled_tapped.xml
index 40b0311b14..9957cf2710 100644
--- a/widget/testdata/select_entry/disableable_enabled_tapped.xml
+++ b/widget/testdata/select_entry/disableable_enabled_tapped.xml
@@ -15,7 +15,7 @@
-
+
diff --git a/widget/testdata/select_entry/disableable_enabled_tapped_selected.xml b/widget/testdata/select_entry/disableable_enabled_tapped_selected.xml
index 40b0311b14..9957cf2710 100644
--- a/widget/testdata/select_entry/disableable_enabled_tapped_selected.xml
+++ b/widget/testdata/select_entry/disableable_enabled_tapped_selected.xml
@@ -15,7 +15,7 @@
-
+
diff --git a/widget/testdata/select_entry/dropdown_B_opened.xml b/widget/testdata/select_entry/dropdown_B_opened.xml
index 9420e4eec5..7658b53182 100644
--- a/widget/testdata/select_entry/dropdown_B_opened.xml
+++ b/widget/testdata/select_entry/dropdown_B_opened.xml
@@ -12,7 +12,7 @@
-
+
diff --git a/widget/testdata/select_entry/dropdown_empty_opened.xml b/widget/testdata/select_entry/dropdown_empty_opened.xml
index abedfa159f..62fa2866c8 100644
--- a/widget/testdata/select_entry/dropdown_empty_opened.xml
+++ b/widget/testdata/select_entry/dropdown_empty_opened.xml
@@ -15,7 +15,7 @@
-
+
diff --git a/widget/testdata/select_entry/dropdown_empty_opened_shrunk.xml b/widget/testdata/select_entry/dropdown_empty_opened_shrunk.xml
index 0652a27566..eeca93551d 100644
--- a/widget/testdata/select_entry/dropdown_empty_opened_shrunk.xml
+++ b/widget/testdata/select_entry/dropdown_empty_opened_shrunk.xml
@@ -15,7 +15,7 @@
-
+
diff --git a/widget/testdata/select_entry/dropdown_empty_setopts.xml b/widget/testdata/select_entry/dropdown_empty_setopts.xml
index fd7742658f..71315bf58e 100644
--- a/widget/testdata/select_entry/dropdown_empty_setopts.xml
+++ b/widget/testdata/select_entry/dropdown_empty_setopts.xml
@@ -15,7 +15,7 @@
-
+
diff --git a/widget/testdata/select_entry/dropdown_initial.xml b/widget/testdata/select_entry/dropdown_initial.xml
index 6d461450ae..9957cf2710 100644
--- a/widget/testdata/select_entry/dropdown_initial.xml
+++ b/widget/testdata/select_entry/dropdown_initial.xml
@@ -15,7 +15,7 @@
-
+
diff --git a/widget/testdata/select_entry/dropdown_tapped_B.xml b/widget/testdata/select_entry/dropdown_tapped_B.xml
index 982e407781..1b80ad5998 100644
--- a/widget/testdata/select_entry/dropdown_tapped_B.xml
+++ b/widget/testdata/select_entry/dropdown_tapped_B.xml
@@ -12,7 +12,7 @@
-
+
diff --git a/widget/testdata/select_entry/dropdown_tapped_C.xml b/widget/testdata/select_entry/dropdown_tapped_C.xml
index 81efc192aa..7ac03caf30 100644
--- a/widget/testdata/select_entry/dropdown_tapped_C.xml
+++ b/widget/testdata/select_entry/dropdown_tapped_C.xml
@@ -12,7 +12,7 @@
-
+