transfer: fix segfault in ui
Issue: #81134
Change-Id: I16ba4e87442326ab1c2db97838ea0caaa32ade31
diff --git a/transferdialog.h b/transferdialog.h
index 0448af0..a28fce0 100644
--- a/transferdialog.h
+++ b/transferdialog.h
@@ -36,8 +36,13 @@
}
virtual bool filterAcceptsRow(int source_row, const QModelIndex& source_parent) const
{
- return sourceModel()->index(source_row,0,source_parent)
- .data(static_cast<int>(Call::Role::State)).value<Call::State>() != Call::State::CURRENT;
+ if (not sourceModel() || source_parent.isValid())
+ return false;
+ auto idx = sourceModel()->index(source_row,0,source_parent);
+ if (not idx.isValid())
+ return false;
+ return idx.data(static_cast<int>(Call::Role::State))
+ .value<Call::State>() != Call::State::CURRENT;
}
};
@@ -61,5 +66,8 @@
private:
Ui::TransferDialog *ui;
Call *selectedCall_;
+ ActiveCallsProxyModel *activeProxy_;
+
+ void removeProxyModel();
};