Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
home:hiberis:mingw:win32
mingw32-evince
0002-Use-g_spawn_command_line_async-to-launch-i...
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File 0002-Use-g_spawn_command_line_async-to-launch-instances.patch of Package mingw32-evince
From eb92c76b31edf36251d317542216061739814bbb Mon Sep 17 00:00:00 2001 From: Hib Eris <hib@hiberis.nl> Date: Fri, 8 Apr 2011 10:26:37 +0200 Subject: [PATCH 02/12] Use g_spawn_command_line_async() to launch instances Work around for not working g_app_info_create_from_commandline () on win32. --- shell/ev-application.c | 15 +++++++++++++-- 1 files changed, 13 insertions(+), 2 deletions(-) diff --git a/shell/ev-application.c b/shell/ev-application.c index a92d29c..49d4db6 100644 --- a/shell/ev-application.c +++ b/shell/ev-application.c @@ -224,7 +224,9 @@ ev_spawn (const char *uri, { GString *cmd; gchar *path, *cmdline; +#ifndef G_OS_WIN32 GAppInfo *app; +#endif GError *error = NULL; cmd = g_string_new (NULL); @@ -234,15 +236,16 @@ ev_spawn (const char *uri, gchar *dir; dir = g_win32_get_package_installation_directory_of_module (NULL); - path = g_build_filename (dir, "bin", "evince", NULL); + path = g_build_filename (dir, "bin", "evince.exe", NULL); g_free (dir); + g_string_append_printf (cmd, "'%s'", path); } #else path = g_build_filename (BINDIR, "evince", NULL); + g_string_append_printf (cmd, " %s", path); #endif - g_string_append_printf (cmd, " %s", path); g_free (path); /* Page label */ @@ -282,6 +285,13 @@ ev_spawn (const char *uri, break; } +#ifdef G_OS_WIN32 +// Work around for not working g_app_info_create_from_commandline (); + g_string_append_printf (cmd, " %s", uri); + cmdline = g_string_free (cmd, FALSE); + g_spawn_command_line_async (cmdline, &error); +#else + cmdline = g_string_free (cmd, FALSE); app = g_app_info_create_from_commandline (cmdline, NULL, 0, &error); @@ -307,6 +317,7 @@ ev_spawn (const char *uri, g_object_unref (app); g_object_unref (ctx); } +#endif if (error != NULL) { g_printerr ("Error launching evince %s: %s\n", uri, error->message); -- 1.7.5.4
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor