Members of the KDE Community are recommended to subscribe to the kde-community mailing list at https://mail.kde.org/mailman/listinfo/kde-community to allow them to participate in important discussions and receive other important announcements

Commit fbcc68ee authored by Jonathan Marten's avatar Jonathan Marten

Fix restoring of "Playback Streams" tab

Even if it is explicitly added by the user, it is not saved and
restored when KMix restarts.  The reason seems to be that no GUI profile
is saved for the tab because it is a dynamic mixer, but restoring
insists on having a profile available.

There seems to be support for fallback profiles in KMixWindow::recreateGUI(),
but bearing in mind the complexity of the code and the comments for the
we_need_a_fallback calculation, MPRIS2 profile fallback is handled as a
special case above.

This appears to work for ALSA, but should also be checked for PulseAudio
dynamic controls.
parent a7b5d615
......@@ -680,16 +680,24 @@ void KMixWindow::recreateGUI(bool saveConfig, const QString& mixerId, bool force
foreach ( QString profileId, profileList)
{
// This handles the profileList form the kmixrc
qCDebug(KMIX_LOG) << "Now searching for profile: " << profileId;
qCDebug(KMIX_LOG) << "Searching for GUI profile" << profileId;
GUIProfile* guiprof = GUIProfile::find(mixer, profileId, true, false);// ### Card specific profile ###
if ( guiprof != 0 )
if (guiprof==nullptr)
{
addMixerWidget(mixer->id(), guiprof->getId(), -1);
atLeastOneProfileWasAdded = true;
qCWarning(KMIX_LOG) << "Cannot load profile" << profileId;
if (profileId.startsWith("MPRIS2."))
{
profileId = "MPRIS2.default";
qCDebug(KMIX_LOG) << "For MPRIS2 falling back to" << profileId;
guiprof = GUIProfile::find(mixer, profileId, true, false);
}
}
else
if (guiprof!=nullptr)
{
qCCritical(KMIX_LOG) << "Cannot load profile " << profileId << " . It was removed by the user, or the KMix config file is defective.";
addMixerWidget(mixer->id(), guiprof->getId(), -1);
atLeastOneProfileWasAdded = true;
}
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment