X-Git-Url: http://git.maemo.org/git/?p=simple-launcher;a=blobdiff_plain;f=launchable-item.cc;h=42bebfc36152e145db1cbd4091e89c7785a576a6;hp=b8cae0aadee4a5353ccfaaafe4bad208936f5951;hb=a475603e2c1da4e345a4a6cedab5a10802c36e97;hpb=e14b9b8b700377082d51d4ae059db8bd0d619d31 diff --git a/launchable-item.cc b/launchable-item.cc index b8cae0a..42bebfc 100644 --- a/launchable-item.cc +++ b/launchable-item.cc @@ -1,6 +1,6 @@ // This file is a part of Simple Launcher // -// Copyright (C) 2006, Mikhail Sobolev +// Copyright (C) 2006, 2007, Mikhail Sobolev // // Simple Launcher is free software; you can redistribute it and/or modify it // under the terms of the GNU General Public License version 2 as published by @@ -16,9 +16,17 @@ // Franklin St, Fifth Floor, Boston, MA 02110-1301 USA #include "launchable-item.h" +#include "utils.h" bool LaunchableItem::activate(osso_context_t *context) { - return osso_application_top(context, getService().c_str(), 0) == OSSO_OK; + bool result = false; + + if (getService().empty() || !(result = osso_rpc_run_with_defaults(context, getService().c_str(), "top_application", NULL, DBUS_TYPE_INVALID) == OSSO_OK)) { + runApplication(getExec()); + return true; + } else { + return result; + } } // vim:ts=2:sw=2:et