Index: transmission-1.34/gtk/util.c
===================================================================
--- transmission-1.34.orig/gtk/util.c	2008-09-17 02:37:35.000000000 +0100
+++ transmission-1.34/gtk/util.c	2009-03-07 07:11:22.000000000 +0000
@@ -28,6 +28,7 @@
 #include <string.h> /* strcmp() */
 
 #include <gtk/gtk.h>
+#include <libosso.h>
 #include <glib/gi18n.h>
 #include <glib/gstdio.h> /* g_unlink() */
 #ifdef HAVE_GIO
@@ -448,21 +449,13 @@
     if( path )
     {
         gboolean opened = FALSE;
-#ifdef HAVE_GIO
-        if( !opened )
-        {
-            GFile * file = g_file_new_for_path( path );
-            char * uri = g_file_get_uri( file );
-            opened = g_app_info_launch_default_for_uri( uri, NULL, NULL );
-            g_free( uri );
-            g_object_unref( G_OBJECT( file ) );
-        }
-#endif
         if( !opened )
         {
-            char * argv[] = { "xdg-open", (char*)path, NULL };
-            g_spawn_async( NULL, argv, NULL, G_SPAWN_SEARCH_PATH,
-                           NULL, NULL, NULL, NULL );
+	    osso_rpc_t retval;
+	    osso_context_t* osso_context;
+	    osso_context = osso_initialize("com.transmissionbt.Transmission", VERSION, FALSE, NULL);
+
+	    osso_rpc_run(osso_context, "com.nokia.osso_browser", "/com/nokia/osso_browser", "com.nokia.osso_browser", "open_new_window", &retval,  DBUS_TYPE_STRING, (char*)path, DBUS_TYPE_INVALID);
         }
     }
 }
