From 9505c2aa17d0914afe73abfab2cdb7f4febc99ef Mon Sep 17 00:00:00 2001 From: pei-jiankang Date: Mon, 27 Sep 2021 17:08:43 +0800 Subject: [PATCH] repair the kylin-recorder volume dispaly error in kylin-media --- .../ukmedia_device_switch_widget.cpp | 30 ++++++++++++------- 1 file changed, 20 insertions(+), 10 deletions(-) diff --git a/ukui-volume-control-applet-qt/ukmedia_device_switch_widget.cpp b/ukui-volume-control-applet-qt/ukmedia_device_switch_widget.cpp index 2cd9612..04c5beb 100755 --- a/ukui-volume-control-applet-qt/ukmedia_device_switch_widget.cpp +++ b/ukui-volume-control-applet-qt/ukmedia_device_switch_widget.cpp @@ -1391,12 +1391,14 @@ void DeviceSwitchWidget::add_stream (DeviceSwitchWidget *w, MateMixerStream *str MateMixerAppInfo *m_pAppInfo = mate_mixer_stream_control_get_app_info(w->control); if (m_pAppInfo != nullptr) { const gchar *m_pAppName = mate_mixer_app_info_get_name(m_pAppInfo); - if (strcmp(m_pAppName,"ukui-session") != 0 && strcmp(m_pAppName,"ukui-volume-control-applet-qt") != 0 && strcmp(m_pAppName,"Volume Control") && \ - strcmp(m_pAppName,"ALSA plug-in [mate-screenshot]") && strcmp(m_pAppName,"ALSA plug-in [ukui-volume-control-applet-qt]")) { - if G_UNLIKELY (w->control == nullptr) - return; - add_application_control (w, w->control,m_pStreamControlName); - } + if (strcmp(m_pAppName,"ukui-session") != 0 && strcmp(m_pAppName,"ukui-volume-control-applet-qt") != 0 && strcmp(m_pAppName,"Volume Control") && \ + strcmp(m_pAppName,"ALSA plug-in [mate-screenshot]") && strcmp(m_pAppName,"ALSA plug-in [ukui-volume-control-applet-qt]") && \ + strcmp(m_pAppName,"Ukui Volume Control App") && !strstr(m_pAppName,"QtPulseAudio") && strcmp(m_pAppName,"ukuimedia-volume-control") != 0 && \ + !strstr(m_pAppName,"ukui-settings-daemon")) { + if G_UNLIKELY (w->control == nullptr) + return; + add_application_control (w, w->control,m_pStreamControlName); + } } else return; @@ -1506,10 +1508,18 @@ void DeviceSwitchWidget::on_stream_control_added (MateMixerStream *stream,const MateMixerAppInfo *m_pAppInfo = mate_mixer_stream_control_get_app_info(w->control); if (m_pAppInfo != nullptr) { const gchar *m_pAppName = mate_mixer_app_info_get_name(m_pAppInfo); - if (strcmp(m_pAppName,"ukui-session") != 0 && strcmp(m_pAppName,"ukui-volume-control-applet-qt") != 0 && strcmp(m_pAppName,"Volume Control") && \ - strcmp(m_pAppName,"ALSA plug-in [mate-screenshot]") && strcmp(m_pAppName,"ALSA plug-in [ukui-volume-control-applet-qt]")) { - if G_UNLIKELY (w->control == nullptr) - return; + const gchar *appIconName = mate_mixer_app_info_get_icon(m_pAppInfo); + if (appIconName && strstr(appIconName,"recording")) { + m_pAppName = "kylin-recorder"; + appIconName = "kylin-recorder"; + } + + if (strcmp(m_pAppName,"ukui-session") != 0 && strcmp(m_pAppName,"ukui-volume-control-applet-qt") != 0 && strcmp(m_pAppName,"Volume Control") && \ + strcmp(m_pAppName,"ALSA plug-in [mate-screenshot]") && strcmp(m_pAppName,"ALSA plug-in [ukui-volume-control-applet-qt]") && \ + strcmp(m_pAppName,"Ukui Volume Control App") && !strstr(m_pAppName,"QtPulseAudio") && strcmp(m_pAppName,"ukuimedia-volume-control") != 0 && \ + !strstr(m_pAppName,"ukui-settings-daemon")) { + if G_UNLIKELY (w->control == nullptr) + return; role = mate_mixer_stream_control_get_role (w->control); if (role == MATE_MIXER_STREAM_CONTROL_ROLE_APPLICATION) { -- 2.30.0