Skip to content

Disconnect from parent window signal when view is destroyed#185521

Merged
robert-ancell merged 3 commits into
flutter:masterfrom
robert-ancell:linux-view-disconnect-window
Jun 22, 2026
Merged

Disconnect from parent window signal when view is destroyed#185521
robert-ancell merged 3 commits into
flutter:masterfrom
robert-ancell:linux-view-disconnect-window

Conversation

@robert-ancell

Copy link
Copy Markdown
Contributor

Otherwise this event could access freed memory.

Otherwise this event could access freed memory.
@robert-ancell robert-ancell requested a review from a team as a code owner April 24, 2026 05:14
@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 added the CICD Run CI/CD label Apr 24, 2026
@github-actions github-actions Bot added engine flutter/engine related. See also e: labels. platform-linux Building on or for Linux specifically a: desktop Running on desktop team-linux Owned by the Linux platform team labels Apr 24, 2026

@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 introduces manual tracking and disconnection of the 'delete-event' signal for the top-level window in FlView. The review feedback identifies a bug in the disposal logic where the signal is disconnected from the engine instead of the window. Additionally, it is suggested to refactor the implementation using g_signal_connect_object to automate signal cleanup and eliminate the need for manual ID management.

Comment thread engine/src/flutter/shell/platform/linux/fl_view.cc Outdated
Comment thread engine/src/flutter/shell/platform/linux/fl_view.cc Outdated
@robert-ancell robert-ancell requested a review from mattkae June 17, 2026 03:44

@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.

Is copilot right here? My knowledge of gobject signals isn't as robust

Comment thread engine/src/flutter/shell/platform/linux/fl_view.cc Outdated
Comment thread engine/src/flutter/shell/platform/linux/fl_view.cc Outdated
@github-actions github-actions Bot removed the CICD Run CI/CD label Jun 18, 2026
@robert-ancell robert-ancell requested a review from mattkae June 19, 2026 00:00
@robert-ancell robert-ancell added the CICD Run CI/CD label Jun 19, 2026
@robert-ancell robert-ancell added this pull request to the merge queue Jun 22, 2026
Merged via the queue into flutter:master with commit 2faee4e Jun 22, 2026
200 of 201 checks passed
@robert-ancell robert-ancell deleted the linux-view-disconnect-window branch June 22, 2026 21:57
auto-submit Bot pushed a commit to flutter/packages that referenced this pull request Jun 23, 2026
flutter/flutter@e228771...87224e0

2026-06-23 engine-flutter-autoroll@skia.org Roll Dart SDK from 5cae7f9ada62 to 3a66ea7b9aaa (1 revision) (flutter/flutter#188379)
2026-06-23 engine-flutter-autoroll@skia.org Roll Dart SDK from 1e6c246bb73a to 5cae7f9ada62 (2 revisions) (flutter/flutter#188370)
2026-06-23 engine-flutter-autoroll@skia.org Roll Skia from 766f21ae61dc to ffac3e91fbc7 (24 revisions) (flutter/flutter#188366)
2026-06-23 737941+loic-sharma@users.noreply.github.com [Windows] Add public API to post task to platform thread (flutter/flutter#187365)
2026-06-23 engine-flutter-autoroll@skia.org Roll Dart SDK from 7ab0179ce4d4 to 1e6c246bb73a (1 revision) (flutter/flutter#188354)
2026-06-23 robert.ancell@canonical.com Fix byte/character offset confusion in FlAccessibleTextField (flutter/flutter#188138)
2026-06-22 engine-flutter-autoroll@skia.org Roll Fuchsia Linux SDK from Lm76V7lvxVA0r1De5... to RymJjIj7dd5vQ3Cnh... (flutter/flutter#188353)
2026-06-22 137456488+flutter-pub-roller-bot@users.noreply.github.com Roll pub packages (flutter/flutter#188355)
2026-06-22 154381524+flutteractionsbot@users.noreply.github.com Sync CHANGELOG.md from stable (flutter/flutter#188331)
2026-06-22 engine-flutter-autoroll@skia.org Roll Skia from 5fbb9bbd889c to 766f21ae61dc (2 revisions) (flutter/flutter#188184)
2026-06-22 49699333+dependabot[bot]@users.noreply.github.com Bump actions/checkout from 6.0.3 to 7.0.0 in the all-github-actions group (flutter/flutter#188350)
2026-06-22 robert.ancell@canonical.com Use g_signal_connect_object in the Linux embedder (flutter/flutter#188241)
2026-06-22 robert.ancell@canonical.com Disconnect from parent window signal when view is destroyed (flutter/flutter#185521)
2026-06-22 rmacnak@google.com Remove many absolute paths from build commands. (flutter/flutter#187765)
2026-06-22 haiderqadir.hq@gmail.com Fix spelling mistake in documentation (wether → whether) (flutter/flutter#186141)
2026-06-22 engine-flutter-autoroll@skia.org Roll Dart SDK from a748c4b15399 to 7ab0179ce4d4 (2 revisions) (flutter/flutter#188332)
2026-06-22 robert.ancell@canonical.com [Linux] Move compositor shader into its own GObject (flutter/flutter#188144)
2026-06-22 bkonyi@google.com Add agent skills for orchestrating cherry-picks to stable and beta channels (flutter/flutter#187860)
2026-06-22 engine-flutter-autoroll@skia.org Roll Packages from c516c92 to cd5194a (1 revision) (flutter/flutter#188312)

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/flutter-packages
Please CC stuartmorgan@google.com on the revert to ensure that a human
is aware of the problem.

To file a bug in Packages: https://github.com/flutter/flutter/issues/new/choose

To report a problem with the AutoRoller itself, please file a bug:
https://issues.skia.org/issues/new?component=1389291&template=1850622

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
via-guy pushed a commit to via-guy/flutter that referenced this pull request Jun 26, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

a: desktop Running on desktop CICD Run CI/CD engine flutter/engine related. See also e: labels. platform-linux Building on or for Linux specifically team-linux Owned by the Linux platform team

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants