summaryrefslogtreecommitdiff
path: root/src/model/pulsedevice.h
diff options
context:
space:
mode:
authorCalvin Morrison <calvin@pobox.com>2026-05-15 16:03:08 -0400
committerCalvin Morrison <calvin@pobox.com>2026-05-15 16:03:08 -0400
commit4a8a83f223bbc2b9d18ef91423c1ee807b297b35 (patch)
tree03b89f3eac9f0796ccdcbad5fa90915587f8e3ff /src/model/pulsedevice.h
parente0c8fb0cdcb9c95e3efa60322c1733df0a965650 (diff)
PA reconnect: recover cleanly when PulseAudio restarts
- On PA_CONTEXT_FAILED/TERMINATED, emit deviceRemoved for all devices so UI clears itself, then reconnect after 2s - Skip pa_context_disconnect and stream detach locks when PA is already dead to avoid hang in pa_threaded_mainloop_stop - Emit defaultOutputChanged(0)/defaultInputChanged(0) before deleting devices to prevent dangling pointer crash in TmixTray::setDevice - Disconnect all device signals before close() to avoid use-after-free from cross-device wiring (source→recording levelChanged bridge) - Icon: generate proper 22x22 (and 16/32/48) from source, install all sizes Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Diffstat (limited to 'src/model/pulsedevice.h')
-rw-r--r--src/model/pulsedevice.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/model/pulsedevice.h b/src/model/pulsedevice.h
index e974508..27aca02 100644
--- a/src/model/pulsedevice.h
+++ b/src/model/pulsedevice.h
@@ -40,7 +40,7 @@ public:
TQWidget *createWidget( TQWidget *parent );
void setPAContext( pa_context *ctx, pa_threaded_mainloop *mainloop );
- void detach(); // called by PulseModel before tearing down the mainloop
+ void detach( bool paAlreadyDead = false );
protected:
void customEvent( TQCustomEvent *e );