From 3735cf0d4f8d37f613bbefbc7db440c8fa9dfb02 Mon Sep 17 00:00:00 2001 From: ababi <albert.babi@savoirfairelinux.com> Date: Wed, 23 Sep 2020 10:47:46 +0200 Subject: [PATCH] settings: set index limits for codecs table - index must be within model's range Gitlab: #102 Change-Id: Ia68e9d5440bc70a420b11f06800559d501a849c3 --- src/settingsview/components/MediaSettings.qml | 35 +++++++++++-------- 1 file changed, 21 insertions(+), 14 deletions(-) diff --git a/src/settingsview/components/MediaSettings.qml b/src/settingsview/components/MediaSettings.qml index 04f7b544d..75446fb8e 100644 --- a/src/settingsview/components/MediaSettings.qml +++ b/src/settingsview/components/MediaSettings.qml @@ -41,11 +41,14 @@ ColumnLayout { function decreaseCodecPriority() { var index = mediaListWidget.currentIndex - var codecId = mediaListWidget.model.data(mediaListWidget.model.index(index,0), MediaCodecListModel.MediaCodecID) + if (index >= mediaListWidget.model.rowCount() - 1) + return + var codecId = mediaListWidget.model.data(mediaListWidget.model.index(index,0), + MediaCodecListModel.MediaCodecID) - if (mediaType == MediaSettings.VIDEO) + if (mediaType === MediaSettings.VIDEO) SettingsAdapter.decreaseVideoCodecPriority(codecId) - else if (mediaType == MediaSettings.AUDIO) + else if (mediaType === MediaSettings.AUDIO) SettingsAdapter.decreaseAudioCodecPriority(codecId) mediaListWidget.currentIndex = index + 1 updateCodecs() @@ -54,17 +57,21 @@ ColumnLayout { function updateCodecs() { mediaListWidget.model.layoutAboutToBeChanged() mediaListWidget.model.dataChanged(mediaListWidget.model.index(0, 0), - mediaListWidget.model.index(mediaListWidget.model.rowCount() - 1, 0)) + mediaListWidget.model.index( + mediaListWidget.model.rowCount() - 1, 0)) mediaListWidget.model.layoutChanged() } function increaseCodecPriority(){ var index = mediaListWidget.currentIndex - var codecId = mediaListWidget.model.data(mediaListWidget.model.index(index,0), MediaCodecListModel.MediaCodecID) + if (index === 0) + return + var codecId = mediaListWidget.model.data(mediaListWidget.model.index(index,0), + MediaCodecListModel.MediaCodecID) - if (mediaType == MediaSettings.VIDEO) + if (mediaType === MediaSettings.VIDEO) SettingsAdapter.increaseVideoCodecPriority(codecId) - else if (mediaType == MediaSettings.AUDIO) + else if (mediaType === MediaSettings.AUDIO) SettingsAdapter.increaseAudioCodecPriority(codecId) mediaListWidget.currentIndex = index - 1 updateCodecs() @@ -81,9 +88,9 @@ ColumnLayout { maxWidth: width eText: { - if (mediaType == MediaSettings.VIDEO) + if (mediaType === MediaSettings.VIDEO) return "Video Codecs" - else if (mediaType == MediaSettings.AUDIO) + else if (mediaType === MediaSettings.AUDIO) return "Audio Codecs" } fontSize: JamiTheme.settingsFontSize @@ -147,12 +154,12 @@ ColumnLayout { } onMediaCodecStateChange: { - if (mediaType == MediaSettings.VIDEO) - SettingsAdapter.videoCodecsStateChange(idToSet , isToBeEnabled) - if (mediaType == MediaSettings.AUDIO) - SettingsAdapter.audioCodecsStateChange(idToSet , isToBeEnabled) + if (mediaType === MediaSettings.VIDEO) + SettingsAdapter.videoCodecsStateChange(idToSet, isToBeEnabled) + if (mediaType === MediaSettings.AUDIO) + SettingsAdapter.audioCodecsStateChange(idToSet, isToBeEnabled) updateCodecs() } } } -} \ No newline at end of file +} -- GitLab