File gnome-packagekit-bnc437977-help.patch of Package gnome-packagekit

Index: gnome-packagekit-0.3.11/src/gpk-gnome.c
===================================================================
--- gnome-packagekit-0.3.11.orig/src/gpk-gnome.c
+++ gnome-packagekit-0.3.11/src/gpk-gnome.c
@@ -55,32 +55,17 @@ gboolean
 gpk_gnome_help (const gchar *link_id)
 {
 	GError *error = NULL;
-	gchar *command;
-	const gchar *lang;
-	gchar *uri = NULL;
-	GdkScreen *gscreen;
-	gint i;
-	gboolean ret = TRUE;
-	const gchar *const *langs = g_get_language_names ();
+	gchar * uri;
+	gboolean ret;
 
-	for (i = 0; langs[i]; i++) {
-		lang = langs[i];
-		if (strchr (lang, '.'))
-			continue;
-		uri = g_build_filename (DATADIR, "/gnome/help/gnome-packagekit/",
-					lang, "/gnome-packagekit.xml", NULL);
-		if (g_file_test (uri, G_FILE_TEST_EXISTS))
-			break;
-		g_free (uri);
-	}
 	if (link_id)
-		command = g_strconcat ("gnome-open ghelp://", uri, "?", link_id, NULL);
+		uri = g_strconcat ("ghelp:gnome-packagekit", "?", link_id, NULL);
 	else
-		command = g_strconcat ("gnome-open ghelp://", uri, NULL);
-	egg_debug ("using command %s", command);
+		uri = g_strconcat ("ghelp:gnome-packagekit", NULL);
 
-	gscreen = gdk_screen_get_default ();
-	gdk_spawn_command_line_on_screen (gscreen, command, &error);
+	//TODO: it would be nice to pass in the screen and timestamp from all callers of this method
+	ret = gtk_show_uri (NULL, uri, gtk_get_current_event_time (), &error);
+	g_free (uri);
 	if (error != NULL) {
 		GtkWidget *d;
 		d = gtk_message_dialog_new (NULL, GTK_DIALOG_MODAL | GTK_DIALOG_DESTROY_WITH_PARENT,
@@ -91,8 +76,6 @@ gpk_gnome_help (const gchar *link_id)
 		ret = FALSE;
 	}
 
-	g_free (command);
-	g_free (uri);
 	return ret;
 }
 
openSUSE Build Service is sponsored by