@@ -154,12 +154,18 @@ StyledItem {
154154 // Either open the app in our own session, or -- if we're acting as a
155155 // greeter -- ask the user's session to open it for us.
156156 if (shell.mode === "greeter") {
157− urlDispatcher.activateURL("application:///" + appId + ".desktop");
157+ activateURL("application:///" + appId + ".desktop");
158158 } else {
159159 startApp(appId);
160160 }
161161 }
162162
163+ function activateURL(url) {
164+ SessionBroadcast.requestUrlStart(AccountsService.user, url);
165+ greeter.notifyUserRequestedApp();
166+ panel.indicators.hide();
167+ }
168+
163169 function startApp(appId) {
164170 if (ApplicationManager.findApplication(appId)) {
165171 ApplicationManager.requestFocusApplication(appId);
@@ -764,13 +770,7 @@ StyledItem {
764770 id: urlDispatcher
765771 objectName: "urlDispatcher"
766772 active: shell.mode === "greeter"
767− onDispatchURL: activateURL(url)
768−
769− function activateURL(url) {
770− SessionBroadcast.requestUrlStart(AccountsService.user, url);
771− greeter.notifyUserRequestedApp();
772− panel.indicators.hide();
773− }
773+ onUrlRequested: shell.activateURL(url)
774774 }
775775
776776 ItemGrabber {