From 4ded5d08faa69e9dc90679ece13935b4b846574b Mon Sep 17 00:00:00 2001 From: tanyulong Date: Tue, 13 Jul 2021 10:30:27 +0800 Subject: [PATCH] fix probabilistic crash when keyboard keys are mute --- .../ukmedia_device_switch_widget.cpp | 14 ++++++++++++-- .../ukui-volume-control-applet-qt.pro | 2 +- 2 files changed, 13 insertions(+), 3 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 b8dc5f5..2e7ebbd 100755 --- a/ukui-volume-control-applet-qt/ukmedia_device_switch_widget.cpp +++ b/ukui-volume-control-applet-qt/ukmedia_device_switch_widget.cpp @@ -1466,7 +1466,9 @@ void DeviceSwitchWidget::add_stream (DeviceSwitchWidget *w, MateMixerStream *str 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]")) { + 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); @@ -1580,8 +1582,16 @@ 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); + 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,"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; diff --git a/ukui-volume-control-applet-qt/ukui-volume-control-applet-qt.pro b/ukui-volume-control-applet-qt/ukui-volume-control-applet-qt.pro index b7ae512..5a8ff3c 100755 --- a/ukui-volume-control-applet-qt/ukui-volume-control-applet-qt.pro +++ b/ukui-volume-control-applet-qt/ukui-volume-control-applet-qt.pro @@ -1,4 +1,4 @@ -###################################################################### +F###################################################################### # Automatically generated by qmake (3.1) Fri Oct 11 17:35:00 2019 ###################################################################### -- 2.23.0