From 7465338ea1d501c996614ce7894ed6c247d107b6 Mon Sep 17 00:00:00 2001 From: Colin Walters Date: Thu, 20 Aug 2009 20:03:28 -0400 Subject: [PATCH] [appDisplay] Always relaunch application on drag and drop Rather than just launching if we weren't already running, always relaunch, which happens to make Firefox, etc. work. See the comment in the commit for more explanation. --- js/ui/appDisplay.js | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/js/ui/appDisplay.js b/js/ui/appDisplay.js index dcd61524f..7930f5d72 100644 --- a/js/ui/appDisplay.js +++ b/js/ui/appDisplay.js @@ -540,12 +540,15 @@ WellDisplayItem.prototype = { }, shellWorkspaceLaunch : function() { - if (this._windows.length == 0) { - this.appInfo.launch(); - } else { - // We should open a new window for the app here, once we know - // how to do that. - } + // Here we just always launch the application again, even if we know + // it was already running. For most applications this + // should have the effect of creating a new window, whether that's + // a second process (in the case of Calculator) or IPC to existing + // instance (Firefox). There are a few less-sensical cases such + // as say Pidgin, but ideally what we do there is have the app + // express to us that it doesn't do relaunch=new-window in the + // .desktop file. + this.appInfo.launch(); }, getDragActor: function(stageX, stageY) {