@@ -70,13 +70,12 @@ void ModbusLogModel::clear()
7070// / \brief ModbusLogModel::append
7171// / \param data
7272// /
73- void ModbusLogModel::append (const ModbusMessage* data)
73+ void ModbusLogModel::append (QSharedPointer< const ModbusMessage> data)
7474{
7575 if (data == nullptr ) return ;
7676
7777 while (rowCount () >= _rowLimit)
7878 {
79- delete _items.first ();
8079 _items.removeFirst ();
8180 }
8281
@@ -108,9 +107,6 @@ void ModbusLogModel::setRowLimit(int val)
108107// /
109108void ModbusLogModel::deleteItems ()
110109{
111- for (auto && i : _items)
112- delete i;
113-
114110 _items.clear ();
115111}
116112
@@ -183,9 +179,9 @@ QModelIndex ModbusLogWidget::index(int row)
183179// / \param request
184180// / \return
185181// /
186- const ModbusMessage* ModbusLogWidget::addItem (const QModbusPdu& pdu, ModbusMessage::ProtocolType protocol, int deviceId, int transactionId, const QDateTime& timestamp, bool request)
182+ QSharedPointer< const ModbusMessage> ModbusLogWidget::addItem (const QModbusPdu& pdu, ModbusMessage::ProtocolType protocol, int deviceId, int transactionId, const QDateTime& timestamp, bool request)
187183{
188- const ModbusMessage* msg = nullptr ;
184+ QSharedPointer< const ModbusMessage> msg;
189185 if (model ())
190186 {
191187 msg = ModbusMessage::create (pdu, protocol, deviceId, timestamp, request);
@@ -202,13 +198,13 @@ const ModbusMessage* ModbusLogWidget::addItem(const QModbusPdu& pdu, ModbusMessa
202198// / \param index
203199// / \return
204200// /
205- const ModbusMessage* ModbusLogWidget::itemAt (const QModelIndex& index)
201+ QSharedPointer< const ModbusMessage> ModbusLogWidget::itemAt (const QModelIndex& index)
206202{
207203 if (!index.isValid ())
208204 return nullptr ;
209205
210206 return model () ?
211- model ()->data (index, Qt::UserRole).value <const ModbusMessage* >() :
207+ model ()->data (index, Qt::UserRole).value <QSharedPointer< const ModbusMessage> >() :
212208 nullptr ;
213209}
214210
0 commit comments