From e3ec5ec543a7a76d230d3102666a6a33ae20c496 Mon Sep 17 00:00:00 2001 From: Steven Luo Date: Sat, 6 Aug 2011 17:22:59 -0700 Subject: [PATCH] Also register for path / on D-Bus This lets us work with broken applications like the Fremantle xterm which direct their D-Bus requests to this path instead of /com/nokia/osso_browser like they should. Thanks to t.m.o users laasonen for reporting and Anzah for providing diagnostic output leading to a fix. --- main.c | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/main.c b/main.c index 6f6e95a..877ab8b 100644 --- a/main.c +++ b/main.c @@ -131,8 +131,9 @@ static void read_config(void) { } int main() { - OssoBrowser *obj_osso_browser, *obj_osso_browser_req; - OssoBrowser *obj_osso_browser_sys, *obj_osso_browser_sys_req; + OssoBrowser *obj_osso_browser, *obj_osso_browser_sys; + OssoBrowser *obj_osso_browser_req, *obj_osso_browser_sys_req; + OssoBrowser *obj_osso_browser_root, *obj_osso_browser_sys_root; GMainLoop *mainloop; GError *error = NULL; int reqname_result; @@ -224,19 +225,25 @@ int main() { /* Register ourselves to handle the osso_browser D-Bus methods */ obj_osso_browser = g_object_new(OSSO_BROWSER_TYPE, NULL); obj_osso_browser_req = g_object_new(OSSO_BROWSER_TYPE, NULL); + obj_osso_browser_root = g_object_new(OSSO_BROWSER_TYPE, NULL); obj_osso_browser_sys = g_object_new(OSSO_BROWSER_TYPE, NULL); obj_osso_browser_sys_req = g_object_new(OSSO_BROWSER_TYPE, NULL); + obj_osso_browser_sys_root = g_object_new(OSSO_BROWSER_TYPE, NULL); dbus_g_connection_register_g_object(ctx.session_bus, "/com/nokia/osso_browser", G_OBJECT(obj_osso_browser)); dbus_g_connection_register_g_object(ctx.session_bus, "/com/nokia/osso_browser/request", G_OBJECT(obj_osso_browser_req)); + dbus_g_connection_register_g_object(ctx.session_bus, + "/", G_OBJECT(obj_osso_browser_root)); dbus_g_connection_register_g_object(ctx.system_bus, "/com/nokia/osso_browser", G_OBJECT(obj_osso_browser_sys)); dbus_g_connection_register_g_object(ctx.system_bus, "/com/nokia/osso_browser/request", G_OBJECT(obj_osso_browser_sys_req)); + dbus_g_connection_register_g_object(ctx.system_bus, + "/", G_OBJECT(obj_osso_browser_sys_root)); mainloop = g_main_loop_new(NULL, FALSE); -- 1.7.9.5