From 4a8a83f223bbc2b9d18ef91423c1ee807b297b35 Mon Sep 17 00:00:00 2001 From: Calvin Morrison Date: Fri, 15 May 2026 16:03:08 -0400 Subject: PA reconnect: recover cleanly when PulseAudio restarts MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 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 --- CMakeLists.txt | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) (limited to 'CMakeLists.txt') diff --git a/CMakeLists.txt b/CMakeLists.txt index 310c5ca..5035d19 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -35,10 +35,14 @@ install( DESTINATION ${XDG_APPS_INSTALL_DIR} ) -install( - FILES img/tmix.png - DESTINATION ${DATA_INSTALL_DIR}/icons/hicolor/22x22/apps -) +install( FILES img/tmix-16.png RENAME tmix.png + DESTINATION ${DATA_INSTALL_DIR}/icons/hicolor/16x16/apps ) +install( FILES img/tmix.png + DESTINATION ${DATA_INSTALL_DIR}/icons/hicolor/22x22/apps ) +install( FILES img/tmix-32.png RENAME tmix.png + DESTINATION ${DATA_INSTALL_DIR}/icons/hicolor/32x32/apps ) +install( FILES img/tmix-48.png RENAME tmix.png + DESTINATION ${DATA_INSTALL_DIR}/icons/hicolor/48x48/apps ) tde_add_executable( tmix AUTOMOC SOURCES -- cgit v1.2.3