[PATCH 2/2] kernel-shark-qt: Add better handling of the search iterator.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This patch provides better handling of the search iterator in the case
when no matches are found. Without these fixes, the search iterator
shows an arbitrary value when we load a session that has the active
marker being set.

Signed-off-by: Yordan Karadzhov <ykaradzhov@xxxxxxxxxx>
---
 kernel-shark-qt/src/KsTraceViewer.cpp | 11 ++++++++---
 1 file changed, 8 insertions(+), 3 deletions(-)

diff --git a/kernel-shark-qt/src/KsTraceViewer.cpp b/kernel-shark-qt/src/KsTraceViewer.cpp
index d52d7e3..a308ea0 100644
--- a/kernel-shark-qt/src/KsTraceViewer.cpp
+++ b/kernel-shark-qt/src/KsTraceViewer.cpp
@@ -420,8 +420,13 @@ void KsTraceViewer::_prev()
 
 void KsTraceViewer::_updateSearchCount()
 {
-	int index(_it - _matchList.begin());
-	int total(_matchList.count());
+	int index, total;
+
+	if (_matchList.isEmpty())
+		return;
+
+	index = _it - _matchList.begin();
+	total =_matchList.count();
 
 	_searchCountLabel.setText(QString(" %1 / %2").arg(index).arg(total));
 }
@@ -655,6 +660,7 @@ size_t KsTraceViewer::_searchItems(int column,
 
 void KsTraceViewer::_setSearchIterator(int row)
 {
+	_it = _matchList.begin();
 	if (_matchList.isEmpty())
 		return;
 
@@ -662,7 +668,6 @@ void KsTraceViewer::_setSearchIterator(int row)
 	 * Move the iterator to the first element of the match list
 	 * after the selected one.
 	 */
-	_it = _matchList.begin();
 	while (*_it < row) {
 		++_it;  // Move the iterator.
 		if (_it == _matchList.end()) {
-- 
2.17.1





[Index of Archives]     [Linux USB Development]     [Linux USB Development]     [Linux Audio Users]     [Yosemite Hiking]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux