Skip to content

Implement dialog windows for the Linux platform#177817

Merged
mattkae merged 9 commits into
flutter:masterfrom
robert-ancell:linux-dialogs
Nov 14, 2025
Merged

Implement dialog windows for the Linux platform#177817
mattkae merged 9 commits into
flutter:masterfrom
robert-ancell:linux-dialogs

Conversation

@robert-ancell

Copy link
Copy Markdown
Contributor

No description provided.

@flutter-dashboard

Copy link
Copy Markdown

It looks like this pull request may not have tests. Please make sure to add tests or get an explicit test exemption before merging.

If you are not sure if you need tests, consider this rule of thumb: the purpose of a test is to make sure someone doesn't accidentally revert the fix. Ask yourself, is there anything in your PR that you feel it is important we not accidentally revert back to how it was before your fix?

Reviewers: Read the Tree Hygiene page and make sure this patch meets those guidelines before LGTMing. If you believe this PR qualifies for a test exemption, contact "@test-exemption-reviewer" in the #hackers channel in Discord (don't just cc them here, they won't see it!). The test exemption team is a small volunteer group, so all reviewers should feel empowered to ask for tests, without delegating that responsibility entirely to the test exemption group.

@robert-ancell robert-ancell marked this pull request as draft October 30, 2025 23:36
@robert-ancell robert-ancell requested a review from mattkae October 30, 2025 23:36
@github-actions github-actions Bot added the framework flutter/packages/flutter repository. See also f: labels. label Oct 30, 2025
Comment thread packages/flutter/lib/src/widgets/_window_linux.dart
Comment thread packages/flutter/lib/src/widgets/_window_linux.dart Outdated

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request implements dialog windows for the Linux platform by adding new GTK FFI bindings and the DialogWindowControllerLinux class. The management of window controllers in WindowingOwnerLinux is also updated to correctly handle both regular and dialog windows. My review includes a critical fix for an issue where a dialog window cannot be correctly parented to another dialog window due to an incomplete parent lookup. Additionally, I've pointed out significant code duplication between the constructors of RegularWindowControllerLinux and the new DialogWindowControllerLinux, with a recommendation to refactor for better maintainability.

Comment thread packages/flutter/lib/src/widgets/_window_linux.dart Outdated
Comment thread packages/flutter/lib/src/widgets/_window_linux.dart
@robert-ancell robert-ancell marked this pull request as ready for review November 5, 2025 10:04

@mattkae mattkae left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM aside from the comment

Comment thread packages/flutter/lib/src/widgets/_window_linux.dart Outdated
@robert-ancell

Copy link
Copy Markdown
Contributor Author

This PR is waiting on some updated platform independent tests, and will land after those are landed.

@mattkae mattkae added this pull request to the merge queue Nov 14, 2025
Merged via the queue into flutter:master with commit 35b8aca Nov 14, 2025
152 checks passed
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Nov 14, 2025
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Nov 14, 2025
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Nov 14, 2025
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Nov 14, 2025
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Nov 15, 2025
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Nov 15, 2025
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Nov 16, 2025
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Nov 16, 2025
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Nov 16, 2025
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Nov 17, 2025
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Nov 17, 2025
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Nov 17, 2025
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Nov 17, 2025
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Nov 17, 2025
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Nov 17, 2025
@robert-ancell robert-ancell deleted the linux-dialogs branch November 17, 2025 22:38
IvoneDjaja pushed a commit to IvoneDjaja/flutter that referenced this pull request Nov 22, 2025
bufffun pushed a commit to bufffun/flutter that referenced this pull request Nov 26, 2025
mboetger pushed a commit to mboetger/flutter that referenced this pull request Dec 2, 2025
reidbaker pushed a commit to AbdeMohlbi/flutter that referenced this pull request Dec 10, 2025
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Feb 11, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

framework flutter/packages/flutter repository. See also f: labels.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants