gnome-shell/js/ui
Jasper St. Pierre 842c792868 search: Only do a subsearch if the previous results have returned from DBus
There's a potential race condition in the search code: if we have an
outstanding search call to a provider for search "A", and if before it comes
back we do a subsearch for "AB", we won't have any results to pass along.

Previously, we used an empty list when storing the provider results, so we
effectively told the remote search app to filter through this empty list for
any search results that meet the new query, meaning we showed the user 0
results for the provider in this case.

Now that we don't store an empty list, but instead store `undefined`, this race
raises a warning. Solve it by doing an initial search query in this case
instead.

The search code isn't too smart about chained subsearches: now, if we hit this
race while already on a subsearch, we'll do an initial search for the subsearch
query instead, but that is much better than showing the user nothing. This
could be fixed in the future for a performance improvement.

Reviewed-by: Florian Müllner <fmuellner@gnome.org>
2013-11-04 14:50:45 -05:00
..
components networkAgent: Make sure to update the OK button on dialog pop up 2013-11-04 08:55:59 -05:00
status bluetooth: Parse pins starting with 0 correctly 2013-11-02 17:55:54 -04:00
altTab.js AltTabSwitcherPopup: check the number of items after creating the popup child 2013-10-26 16:29:27 +02:00
animation.js ui: move AnimatedIcon out of panel.js 2013-06-25 15:16:42 -04:00
appDisplay.js appDisplay: Ignore the NoDisplay flag for directories 2013-11-02 20:12:37 -04:00
appFavorites.js dash: reload favorites when the installed app change 2013-08-31 18:55:24 +02:00
background.js Background: Drop "saturation" related source 2013-10-23 21:37:27 +02:00
backgroundMenu.js backgroundMenu: Ignore releases when using long-press 2013-04-26 11:23:37 -04:00
boxpointer.js BoxPointer: account for border width when requesting size 2013-10-07 20:18:48 +02:00
calendar.js Stringify the xml definitions for E4X removal 2013-10-25 08:57:27 +11:00
checkBox.js checkBox: Remove custom container implementation 2013-08-20 08:06:30 +02:00
ctrlAltTab.js Rework window / actor focus handling 2013-07-08 17:05:16 -04:00
dash.js dash: Fix typo 2013-08-31 19:53:37 +02:00
dateMenu.js a11y: calendar: full date string should be navigable 2013-08-28 19:13:33 +02:00
dnd.js dnd: Don't use reparent for adding actors to the uiGroup 2013-10-30 13:20:02 -04:00
endSessionDialog.js need space between item in endsession dialog session-list and app-list 2013-10-26 16:24:41 +02:00
environment.js environment: Add some convenience LayoutManager monkey-patching 2013-07-24 15:22:05 +02:00
extensionDownloader.js modalDialog: drop global.get_current_time() arguments to close 2013-02-20 14:16:53 -05:00
extensionSystem.js Synchronize shell startup 2013-11-04 11:50:20 -05:00
focusCaretTracker.js focusCaretTracker: Lower AT-SPI's timeout values 2013-09-21 04:51:42 -05:00
grabHelper.js grabHelper: Introduce a stack of grab helpers 2013-08-19 09:35:09 -04:00
ibusCandidatePopup.js ibusCandidatePopup: Fix cursor positioning 2013-02-15 00:26:47 +01:00
iconGrid.js iconGrid: Actually throw programmer errors 2013-10-30 13:05:20 -04:00
keyboard.js Stringify the xml definitions for E4X removal 2013-10-25 08:57:27 +11:00
layout.js layout: Flush region update in showOverview 2013-10-11 20:16:44 +02:00
lightbox.js Lightbox: have animation times passed as parameters to show() and hide() 2013-08-20 21:52:04 +02:00
lookingGlass.js lookingGlass: Remove Memory tab and add a gc Icon to toolbar 2013-10-30 07:44:34 +11:00
magnifier.js Magnifier: don't initialize if we don't need it 2013-09-13 16:09:33 +02:00
magnifierDBus.js Stringify the xml definitions for E4X removal 2013-10-25 08:57:27 +11:00
main.js Synchronize shell startup 2013-11-04 11:50:20 -05:00
messageTray.js messageTray: Use a regular tween when expanding the notification 2013-11-04 14:25:29 -05:00
modalDialog.js modalDialog: Request HEIGHT_FOR_WIDTH 2013-08-20 08:18:29 +02:00
notificationDaemon.js notificationDaemon: Only store policies for "real" apps 2013-11-04 11:47:43 -05:00
osdWindow.js osdWindow: Make sure to clear the hide timeout 2013-06-24 17:23:43 -04:00
overview.js overview: Send the clone with the window-drag events 2013-10-30 13:17:38 -04:00
overviewControls.js overviewControls: Fix bad expression causing incorrect thumbnails allocation 2013-11-02 20:07:06 -04:00
panel.js Make dropdown arrows consistent size 2013-10-11 17:32:55 +02:00
panelMenu.js panelMenu: Use the accessible-name property instead of a label actor 2013-08-13 11:22:03 -04:00
pointerWatcher.js Replace GnomeIdleMonitor with MetaIdleMonitor 2013-08-23 16:22:44 +02:00
popupMenu.js a11y: setting ATK_ROLE_ARROW to object unicodeArrow 2013-10-14 22:29:09 +02:00
remoteMenu.js popupMenu: Remove our custom allocation code 2013-08-13 06:50:25 -04:00
remoteSearch.js Synchronize shell startup 2013-11-04 11:50:20 -05:00
runDialog.js runDialog: don't destroy on close 2013-04-06 11:10:30 -04:00
screencast.js screencast: Validate parameters of ScreencastArea 2013-11-04 16:21:45 +01:00
screenShield.js screenShield: Fix details in notifications 2013-11-04 16:46:25 +01:00
screenshot.js screenshot: Extend ScreenshotArea parameter validation 2013-11-04 16:21:45 +01:00
scripting.js Stringify the xml definitions for E4X removal 2013-10-25 08:57:27 +11:00
search.js search: Only do a subsearch if the previous results have returned from DBus 2013-11-04 14:50:45 -05:00
separator.js js: Explicitly dispose all cairo contexts 2013-01-08 13:07:51 -05:00
sessionMode.js Synchronize shell startup 2013-11-04 11:50:20 -05:00
shellDBus.js Stringify the xml definitions for E4X removal 2013-10-25 08:57:27 +11:00
shellEntry.js shellEntry: Set the input-purpose property for password entries 2013-05-10 12:42:18 +02:00
shellMountOperation.js Stringify the xml definitions for E4X removal 2013-10-25 08:57:27 +11:00
slider.js a11y: using generic accessible at slider 2013-08-28 16:05:54 +02:00
switcherPopup.js switcherPopup: Remove separator support 2013-03-04 15:28:38 +01:00
tweener.js tweener: Look at the XSetting for disabling animations 2013-02-25 12:59:35 -05:00
unlockDialog.js unlockDialog: Remove clutter constraints from the code 2013-08-26 19:05:15 -04:00
userWidget.js userWidget: Use the user name if the real name doesn't fit 2013-10-30 13:19:02 -04:00
viewSelector.js viewSelector: Move all of the provider-loading logic to SearchSystem 2013-10-30 12:59:41 -04:00
windowAttentionHandler.js messageTray: Don't always open the source when clicking on the notification 2013-10-21 12:30:25 -04:00
windowManager.js windowManager: Don't open overview after closing the last window on a workspace 2013-08-31 23:53:39 +02:00
workspace.js workspace: Remove unused includes and constants 2013-11-04 10:32:17 +01:00
workspacesView.js workspacesView: Make sure to update workspace actors when entering the overview 2013-10-30 18:20:54 -04:00
workspaceSwitcherPopup.js Switch all external uses of Main.panel.actor.height to the work area 2013-02-06 22:35:49 -05:00
workspaceThumbnail.js overview: Send the clone with the window-drag events 2013-10-30 13:17:38 -04:00
xdndHandler.js Disable XDND when running as a wayland compositor 2013-09-12 10:34:25 +02:00