Skip to content

KFileWidget: remove location history dummy-entry related code

Ahmad Samir requested to merge work/ahmad/location-edit into master

Less nesting by returning early. This code was used in m_locationEdit ("Name" combobox).

The issue with this code is that it ultimately invokes QLineEdit::setText(), which resets the undo/redo steps for the text in the lineedit at index -1, with every key press event.

So we lose one functionality, showing the corresponding icon for the url in the lineedit, but gain the undo/redo functionality, the latter being a functionality that is available/expectted in all Qt/KDE lineedits.

0x00007ffff6b9aa40 in QLineEdit::setText(QString const&)@plt () from /lib64/libQt5Widgets.so.5
0x00007ffff6cb8a83 in QComboBoxPrivate::_q_dataChanged (this=0x5555558f9560, topLeft=..., bottomRight=...)

0x00007ffff5e23235 in QAbstractItemModel::dataChanged (this=this@entry=0x5555558f9800, _t1=..., _t2=..., _t3=...)
0x00007ffff66d7780 in QStandardItemModelPrivate::itemChanged (this=<optimized out>, item=item@entry=0x555555d8cfe0, roles=...)
0x00007ffff66d7ff8 in QStandardItem::setData (this=0x555555d8cfe0, value=..., role=<optimized out>)
0x00007ffff66db16c in QStandardItemModel::setData (role=1, value=..., index=..., this=0x5555558f9800)
QStandardItemModel::setData (this=this@entry=0x5555558f9800, index=..., value=..., role=role@entry=1)
0x00007ffff6cb369f in QComboBox::setItemIcon (this=<optimized out>, index=index@entry=0, icon=...)
0x00007ffff7f30501 in KFileWidgetPrivate::setDummyHistoryEntry (this=this@entry=0x5555556ddbb0, text=..., icon=...,
  usePreviousPixmapIfNull=usePreviousPixmapIfNull@entry=true)

Merge request reports