[PATCH 1/5] kernel-shark-qt: Avoid spurious searches

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

 



Do not search if the text field of search panel is empty.
Most probably this is an accidental key press or mouse click.

The text field gets locked only during the actual searching.

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

diff --git a/kernel-shark-qt/src/KsTraceViewer.cpp b/kernel-shark-qt/src/KsTraceViewer.cpp
index a308ea0..599b687 100644
--- a/kernel-shark-qt/src/KsTraceViewer.cpp
+++ b/kernel-shark-qt/src/KsTraceViewer.cpp
@@ -308,8 +308,6 @@ static bool matchCond(const QString &searchText, const QString &itemText)
 
 void KsTraceViewer::_search()
 {
-	/* Disable the user input until the search is done. */
-	_searchLineEdit.setReadOnly(true);
 	if (!_searchDone) {
 		int xColumn, xSelect;
 		QString xText;
@@ -319,7 +317,19 @@ void KsTraceViewer::_search()
 		 * have been modified since the last time we searched.
 		 */
 		_matchList.clear();
+
 		xText = _searchLineEdit.text();
+		if (xText.isEmpty()) {
+			/*
+			 * No text is provided by the user. Most probably this
+			 * is an accidental key press.
+			 */
+			return;
+		}
+
+		/* Disable the user input until the search is done. */
+		_searchLineEdit.setReadOnly(true);
+
 		xColumn = _columnComboBox.currentIndex();
 		xSelect = _selectComboBox.currentIndex();
 
@@ -346,6 +356,9 @@ void KsTraceViewer::_search()
 			if (_graphFollows)
 				emit select(*_it); // Send a signal to the Graph widget.
 		}
+
+		/* Enable the user input. */
+		_searchLineEdit.setReadOnly(false);
 	} else {
 		/*
 		 * If the search is done, pressing "Enter" is equivalent
@@ -353,9 +366,6 @@ void KsTraceViewer::_search()
 		 */
 		this->_next();
 	}
-
-	/* Enable the user input. */
-	_searchLineEdit.setReadOnly(false);
 }
 
 void KsTraceViewer::_next()
-- 
2.17.1





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

  Powered by Linux