Mercurial > pidgin
diff pidgin/gtkpounce.c @ 29039:2fc38fb61418
Make the "Execute a command" buddy pounce action use ShellExecute() on Windows so that it can open files of all types (e.g. MP3s) with their default associated application. Fixes #11333.
author | Daniel Atallah <daniel.atallah@gmail.com> |
---|---|
date | Sun, 14 Feb 2010 06:57:53 +0000 |
parents | b937f137cd05 |
children | 2ad2e3490b23 |
line wrap: on
line diff
--- a/pidgin/gtkpounce.c Sun Feb 14 05:55:46 2010 +0000 +++ b/pidgin/gtkpounce.c Sun Feb 14 06:57:53 2010 +0000 @@ -1546,53 +1546,7 @@ g_free(localecmd); } #else /* !_WIN32 */ - PROCESS_INFORMATION pi; - BOOL retval; - gchar *message = NULL; - - memset(&pi, 0, sizeof(pi)); - - if (G_WIN32_HAVE_WIDECHAR_API ()) { - STARTUPINFOW si; - wchar_t *wc_cmd = g_utf8_to_utf16(command, - -1, NULL, NULL, NULL); - - memset(&si, 0 , sizeof(si)); - si.cb = sizeof(si); - - retval = CreateProcessW(NULL, wc_cmd, NULL, - NULL, 0, 0, NULL, NULL, - &si, &pi); - g_free(wc_cmd); - } else { - STARTUPINFOA si; - char *l_cmd = g_locale_from_utf8(command, - -1, NULL, NULL, NULL); - - memset(&si, 0 , sizeof(si)); - si.cb = sizeof(si); - - retval = CreateProcessA(NULL, l_cmd, NULL, - NULL, 0, 0, NULL, NULL, - &si, &pi); - g_free(l_cmd); - } - - if (retval) { - CloseHandle(pi.hProcess); - CloseHandle(pi.hThread); - } else { - message = g_win32_error_message(GetLastError()); - } - - purple_debug_info("pounce", - "Pounce execute command called for: " - "%s\n%s%s%s", - command, - retval ? "" : "Error: ", - retval ? "" : message, - retval ? "" : "\n"); - g_free(message); + winpidgin_shell_execute(command, "open", NULL); #endif /* !_WIN32 */ } }