diff options
| author | Calvin Morrison <calvin@pobox.com> | 2026-05-15 16:03:08 -0400 |
|---|---|---|
| committer | Calvin Morrison <calvin@pobox.com> | 2026-05-15 16:03:08 -0400 |
| commit | 4a8a83f223bbc2b9d18ef91423c1ee807b297b35 (patch) | |
| tree | 03b89f3eac9f0796ccdcbad5fa90915587f8e3ff /src/ui | |
| parent | e0c8fb0cdcb9c95e3efa60322c1733df0a965650 (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/ui')
| -rw-r--r-- | src/ui/tmixtray.cpp | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/ui/tmixtray.cpp b/src/ui/tmixtray.cpp index 4048270..e452d71 100644 --- a/src/ui/tmixtray.cpp +++ b/src/ui/tmixtray.cpp @@ -43,7 +43,7 @@ TmixTray::TmixTray( TQWidget *parent ) setCaption( i18n("Volume Control") ); TQPixmap titleIcon = TDEGlobal::iconLoader()->loadIcon( - "kmix", TDEIcon::Small, 16, TDEIcon::DefaultState, 0, true ); + "tmix", TDEIcon::Small, 16, TDEIcon::DefaultState, 0, true ); if ( titleIcon.isNull() ) titleIcon = TDEGlobal::iconLoader()->loadIcon( "audio-volume-medium", TDEIcon::Small, 16, TDEIcon::DefaultState, 0, true ); |
