https://bugs.kde.org/show_bug.cgi?id=500968
Harald Sitter <[email protected]> changed: What |Removed |Added ---------------------------------------------------------------------------- Resolution|--- |FIXED Status|ASSIGNED |RESOLVED Latest Commit| |https://invent.kde.org/libr | |aries/pulseaudio-qt/-/commi | |t/1af59b54e598bdc484aab6c5c | |8496db3a953b371 --- Comment #41 from Harald Sitter <[email protected]> --- Git commit 1af59b54e598bdc484aab6c5c8496db3a953b371 by Harald Sitter. Committed on 11/09/2026 at 00:01. Pushed by sitter into branch 'master'. server: do not return incorrect default devices somewhat clumsily when we failed to determine the default device we'd instead return the last device in the enumerable. this would then bubble up to become m_defaultSink/Source and incorrectly get presented as default device when in fact it was not. so far so terrible. the far more elusive problem happens when the user has a second device and then tries to switch to that one. now, having two devices it seems like a good guess that this other device is in fact the *real* default device and setting it default will be no-op on the PA server. as such, we never get a change and never re-evaluate the default devices and consequently end up with two devices checked in the UI: one because it was incorrectly labeled default by pulseaudio-qt initially, the other because QML marked it checked and we didn't fix it because the change was no-op on the backend it gets worse. Sink/Source::setDefault() has a guard against manipulating the default state of a device that is already default (as per our Server). since we marked the wrong device default we are effectively making changes to this device no-op on the frontend! so now the user has two entries selected and the states are essentially locked. one cannot change because it is no-oped on the frontend, the other because it is no-oped on the backend. M +1 -1 src/server.cpp M +4 -2 src/server.h https://invent.kde.org/libraries/pulseaudio-qt/-/commit/1af59b54e598bdc484aab6c5c8496db3a953b371 -- You are receiving this mail because: You are watching all bug changes.
