From e5b2fb731698f401366879e6a3de72206ee65cac Mon Sep 17 00:00:00 2001 From: Nicolas Fella Date: Mon, 8 Dec 2025 22:49:15 +0100 Subject: [PATCH] Guard against currentIndex being -1 in NeochatMaximizeComponent Sometimes the ListView's currentIndex is -1, which results in us querying data() for an invalid index, causing an assert in Qt model code BUG: 513104 --- src/app/qml/NeochatMaximizeComponent.qml | 40 +++++++++++++++++++++--- 1 file changed, 36 insertions(+), 4 deletions(-) diff --git a/src/app/qml/NeochatMaximizeComponent.qml b/src/app/qml/NeochatMaximizeComponent.qml index 2a166c8c0..ecf5c234d 100644 --- a/src/app/qml/NeochatMaximizeComponent.qml +++ b/src/app/qml/NeochatMaximizeComponent.qml @@ -23,13 +23,45 @@ Components.AlbumMaximizeComponent { */ required property NeoChatRoom currentRoom - readonly property string currentEventId: model.data(model.index((content as ListView).currentIndex, 0), TimelineMessageModel.EventIdRole) + readonly property string currentEventId: { + const idx = (content as ListView).currentIndex; - readonly property var currentAuthor: model.data(model.index((content as ListView).currentIndex, 0), TimelineMessageModel.AuthorRole) + if (idx === -1) { + return "" + } - readonly property var currentTime: model.data(model.index((content as ListView).currentIndex, 0), TimelineMessageModel.TimeRole) + return model.data(model.index(idx, 0), TimelineMessageModel.EventIdRole) + } - readonly property var currentProgressInfo: model.data(model.index((content as ListView).currentIndex, 0), TimelineMessageModel.ProgressInfoRole) + readonly property var currentAuthor: { + const idx = (content as ListView).currentIndex; + + if (idx === -1) { + return {} + } + + return model.data(model.index(idx, 0), TimelineMessageModel.AuthorRole) + } + + readonly property var currentTime: { + + const idx = (content as ListView).currentIndex; + + if (idx === -1) { + return {} + } + + model.data(model.index(idx, 0), TimelineMessageModel.TimeRole) + } + + readonly property var currentProgressInfo: { + const idx = (content as ListView).currentIndex; + + if (idx === -1) { + return {} + } + model.data(model.index(idx, 0), TimelineMessageModel.ProgressInfoRole) + } actions: [ ShareAction {