Skip to content

Avoid creating and leaking QWindows in backgroundFrost effect

David Edmundson requested to merge work/winId into master

KWindowSystem has a mismatch for winIDs and QWindow objects in the API.

This code clearly intended to find the matching existing QWindow for a given ID. What it did instead on X is to create a new QWindow object wrapping the "foreign" window (even though the window happens to be local).

We only use the QWindow object to extract the winId again, so this all appears to work, but we are leaking a tonne of objects on every dialog resize.

(Found by accident when trying to debug a different bug with a spare window)

Edited by David Edmundson

Merge request reports