[gnome-shell] Don't fail if we can't find an application



commit 3b603ef7e0299e7c41420c3de97bbadfa60eb629
Author: Colin Walters <walters verbum org>
Date:   Wed Jul 8 11:54:15 2009 -0400

    Don't fail if we can't find an application
    
    Instead of logging and passing null through, explicitly skip
    apps we don't know about.  It's valid to have say uninstalled
    an app.

 js/ui/appDisplay.js |   20 ++++++++++++--------
 1 files changed, 12 insertions(+), 8 deletions(-)
---
diff --git a/js/ui/appDisplay.js b/js/ui/appDisplay.js
index 298c905..adc94cf 100644
--- a/js/ui/appDisplay.js
+++ b/js/ui/appDisplay.js
@@ -673,12 +673,16 @@ AppWell.prototype = {
         this._redisplay();
     },
 
-    _lookupApp: function(id) {
-        let app = this._appSystem.lookup_app(id);
-        if (!app) {
-          log("failed to look up app " + id);
-        };
-        return app;
+    _lookupApps: function(appIds) {
+        let result = [];
+        for (let i = 0; i < appIds.length; i++) {
+            let id = appIds[i];
+            let app = this._appSystem.lookup_app(id);
+            if (!app)
+                continue;
+            result.push(app);
+        }
+        return result;
     },
 
     _redisplay: function() {
@@ -693,8 +697,8 @@ AppWell.prototype = {
         let runningIds = this._appMonitor.get_running_app_ids().filter(function (e) {
             return !(e in favoriteIdsObject);
         });
-        let favorites = favoriteIds.map(Lang.bind(this, this._lookupApp));
-        let running = runningIds.map(Lang.bind(this, this._lookupApp));
+        let favorites = this._lookupApps(favoriteIds);
+        let running = this._lookupApps(runningIds);
         this._favoritesArea.redisplay(favorites);
         this._runningArea.redisplay(running);
         // If it's empty, we hide it so the top border doesn't show up



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