Discard Deleted before Scene is destroyed
Needs ReviewPublic

Authored by zzag on Sun, Feb 10, 10:58 PM.

Details

Reviewers
None
Group Reviewers
KWin
Summary

When suspending compositing, KWin discards Deleted clients after the
scene is destroyed. But if SceneOpenGLDecorationRenderer needs to be
destroyed, this is too late. So let's discard Deleted clients when the
scene is still alive.

BUG: 404176
FIXED-IN: 5.15.1

Diff Detail

Repository
R108 KWin
Lint
Lint OK
Unit
No Unit Test Coverage
Build Status
Buildable 8285
Build 8303: arc lint + arc unit
zzag created this revision.Sun, Feb 10, 10:58 PM
Restricted Application added a project: KWin. · View Herald TranscriptSun, Feb 10, 10:58 PM
Restricted Application added a subscriber: kwin. · View Herald Transcript
zzag requested review of this revision.Sun, Feb 10, 10:58 PM
zzag added a comment.Sun, Feb 10, 11:02 PM

KWin/Wayland still crashes in ~SceneOpenGLDecorationRenderer, but that's unrelated to this patch.

graesslin added inline comments.
composite.cpp
389–390

why remove these?

zzag added inline comments.Mon, Feb 11, 5:21 PM
composite.cpp
389–390

If a Deleted is discarded, it will be removed from the scene as well, so we don't need these lines.

zzag updated this revision to Diff 51671.Thu, Feb 14, 12:57 PM

Rebase on master; fix merge conflicts.

zzag updated this revision to Diff 51672.Thu, Feb 14, 1:02 PM

Bad update (it should be against 5.15).