@@ -190,7 +190,8 @@ ResultsDisassemblyPage::ResultsDisassemblyPage(CostContextMenu* costContextMenu,
190190
191191 auto setupSearchShortcuts = [this ](QPushButton* search, QPushButton* next, QPushButton* prev, QPushButton* close,
192192 QWidget* searchWidget, QLineEdit* edit, QAbstractItemView* view,
193- KMessageWidget* endReached, auto * model, int additionalRows) {
193+ KMessageWidget* endReached, auto * model, QModelIndex* searchResultIndex,
194+ int additionalRows) {
194195 searchWidget->hide ();
195196
196197 auto actions = new QActionGroup (view);
@@ -205,13 +206,13 @@ ResultsDisassemblyPage::ResultsDisassemblyPage(CostContextMenu* costContextMenu,
205206 findAction->setShortcutContext (Qt::ShortcutContext::WidgetWithChildrenShortcut);
206207 view->addAction (findAction);
207208
208- auto searchNext = [this , model, edit, additionalRows] {
209- const auto offset = m_currentSearchIndex. isValid () ? m_currentSearchIndex. row () - additionalRows + 1 : 0 ;
209+ auto searchNext = [model, edit, additionalRows, searchResultIndex ] {
210+ const auto offset = searchResultIndex-> isValid () ? searchResultIndex-> row () - additionalRows : 0 ;
210211 model->find (edit->text (), Direction::Forward, offset);
211212 };
212213
213- auto searchPrev = [this , model, edit, additionalRows] {
214- const auto offset = m_currentSearchIndex. isValid () ? m_currentSearchIndex. row () - additionalRows - 1 : 0 ;
214+ auto searchPrev = [model, edit, additionalRows, searchResultIndex ] {
215+ const auto offset = searchResultIndex-> isValid () ? searchResultIndex-> row () - additionalRows : 0 ;
215216
216217 model->find (edit->text (), Direction::Backward, offset);
217218 };
@@ -234,9 +235,9 @@ ResultsDisassemblyPage::ResultsDisassemblyPage(CostContextMenu* costContextMenu,
234235
235236 connectModel (
236237 model,
237- [this , edit, view, colorScheme](const QModelIndex& index) {
238+ [edit, view, colorScheme, searchResultIndex ](const QModelIndex& index) {
238239 auto palette = edit->palette ();
239- m_currentSearchIndex = index;
240+ *searchResultIndex = index;
240241 palette.setBrush (QPalette::Text,
241242 index.isValid () ? colorScheme.foreground ()
242243 : colorScheme.foreground (KColorScheme::NegativeText));
@@ -250,10 +251,11 @@ ResultsDisassemblyPage::ResultsDisassemblyPage(CostContextMenu* costContextMenu,
250251 };
251252
252253 setupSearchShortcuts (ui->searchButton , ui->nextResult , ui->prevResult , ui->closeButton , ui->searchWidget ,
253- ui->searchEdit , ui->sourceCodeView , ui->searchEndWidget , m_sourceCodeModel, 1 );
254+ ui->searchEdit , ui->sourceCodeView , ui->searchEndWidget , m_sourceCodeModel,
255+ &m_currentSourceSearchIndex, 1 );
254256 setupSearchShortcuts (ui->disasmSearchButton , ui->disasmNextButton , ui->disasmPrevButton , ui->disasmCloseButton ,
255257 ui->disasmSearchWidget , ui->disasmSearchEdit , ui->assemblyView , ui->disasmEndReachedWidget ,
256- m_disassemblyModel, 0 );
258+ m_disassemblyModel, &m_currentDisasmSearchIndex, 0 );
257259
258260#if KFSyntaxHighlighting_FOUND
259261 QStringList schemes;
0 commit comments