Skip to content

applets/taskmanager: reset fd in `Component.onDestruction`

Fushan Wen requested to merge work/fuf/resetFd into master

When the mouse cursor moves from one task to another task,

  1. Call updateMainItemBindings() to set blockingUpdates to true
  2. sourceComponent -> undefined
  3. PipeWire.PipeWireSourceItem -> Component.onDestruction
  4. sourceComponent -> singleTooltip / groupToolTip
  5. A new PipeWire.PipeWireSourceItem is created, nodeId is set and fd 0 is opened
  6. The old PipeWireSourceItem calls its dtor, and fd 0 is closed.
  7. The new PipeWireSourceItem can't create a new stream because fd 0 is closed by the old PipeWireSourceItem

This manually resets fd in Component.onDestruction to close fd 0 early to fix the bug.

BUG: 464597 FIXED-IN: 5.27

Requires kpipewire!17 (merged) and !1353 (merged)

Merge request reports