From f0622c1896dd835755c8ada7fb4a6dae8966e11f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Florian=20M=C3=BCllner?= Date: Fri, 8 Apr 2011 16:48:33 +0200 Subject: [PATCH] search-results: Fix flickering of the selection When updating search results, the current result set is recreated from scratch before setting the selection highlight. This results in two style changes of the selected item, and as a CSS transition is used to animate the style change, the selected item flickers if it remains the same as with the previous search term. Fix by hiding the result set until the selection is set, to avoid the transition in that case. https://bugzilla.gnome.org/show_bug.cgi?id=646019 --- js/ui/searchDisplay.js | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/js/ui/searchDisplay.js b/js/ui/searchDisplay.js index ffe9fa482..7b0a3d114 100644 --- a/js/ui/searchDisplay.js +++ b/js/ui/searchDisplay.js @@ -333,6 +333,13 @@ SearchResults.prototype = { let terms = this._searchSystem.getTerms(); this._openSearchSystem.setSearchTerms(terms); + // To avoid CSS transitions causing flickering + // of the selection when the first search result + // stays the same, we hide the content while + // filling in the results and setting the initial + // selection. + this._content.hide(); + for (let i = 0; i < results.length; i++) { let [provider, providerResults] = results[i]; let meta = this._metaForProvider(provider); @@ -343,6 +350,8 @@ SearchResults.prototype = { if (this._selectedOpenSearchButton == -1) this.selectDown(false); + this._content.show(); + return true; },