[maemo-developers] osso, muali , dbus and Qt closeEvent()s

From: Kimmo Hämäläinen kimmo.hamalainen at nokia.com
Date: Tue Mar 24 18:30:15 EET 2009
On Mon, 2009-03-23 at 14:44 +0100, ext David Greaves wrote:
> Hi
> 
> Crossposting as I think this is a maemo-dev question of interest to Qt devs :)
> 
> I am having a problem with my Qt applications and the osso window manager.
> Essentially the window manager is doing a sigkill which doesn't allow Qt to emit
> a closeEvent().

You mean D-Bus daemon is killing you 20-30s after you are D-Bus
activated?

Maybe looking at this example helps:
https://garage.maemo.org/svn/maemoexamples/tags/maemo_4.1/maemopad/

> A gtk app calls osso_initialize() which amongst other things registers a service
> name to the DBus.freedestop.org service.
> 
> I've been through osso-init.c and osso-rpc.c to try and figure it out but,
> whilst I've made progress, I've not finished.
> 
> So far I have:
> * added an entry into the desktop file for X-Osso-Service=com.dgreaves.shopper
> * created : /usr/share/dbus-1/services/com.dgreaves.shopper.service
> * added a QDBusConnection::sessionBus().interface()->registerService (name, 1 );
> and
> 	connect(iface, SIGNAL(serviceOwnerChanged(QString,QString,QString)),
> 		this, SLOT(serviceOwnerChanged(QString,QString,QString)));
> 
> dbus-monitor is showing very similar messages for gtk and my Qt apps now.
> 
> I've hooked serviceOwnerChanged and try to send out a ReleaseName to
> org.freedesktop.DBus.
> 
> However I'm still getting killed.
> 
> Digging into libosso and libossowm/osso-rpc.c I find
> 
> #define HILDON_DESKTOP_SERVICE "com.nokia.hildon-desktop"
> #define HDWM_STARTUP_NOTIFICATION_IFACE "com.nokia.hildon.hdwm.startupnotification"
> #define HDWM_OBJECT_PATH                "/com/nokia/hildon/hdwm"
> #define HDWM_STARTUP_NOTIFICATION_STARTING  "starting"

You don't need this. It's just for the "Loading..." banner in Diablo.

> This failed as
> Name:org.freedesktop.DBus.Error.UnknownMethod
> 
> Message:Method "starting" with signature "" on interface
> "com.nokia.hildon.hdwm.startupnotification" doesn't exist
> 
> I installed qdbusmonitor and "com.nokia.hildon-desktop" doesn't provide
> hdwm.startupnotification or starting
> 
> Nor do I see it on the dbus-monitor --session when my gtk app runs.
> 
> Any pointers?
> 
> David
> 
> 


More information about the maemo-developers mailing list