--- a/src/gtkpounce.c Sun May 15 14:36:07 2005 -0400
+++ b/src/gtkpounce.c Sun May 15 14:53:53 2005 -0400
@@ -1015,44 +1015,84 @@
if (gaim_pounce_action_is_enabled(pounce, "execute-command"))
- command = gaim_pounce_action_get_attribute(pounce, "execute-command",
- localecmd = g_locale_from_utf8(command, -1, NULL, NULL, NULL);
+ command = gaim_pounce_action_get_attribute(pounce, + "execute-command", "command");
+ char *localecmd = g_locale_from_utf8(command, -1, NULL,
- args[2] = (char *)localecmd;
+ args[2] = (char *)localecmd;
- PROCESS_INFORMATION ProcInfo;
+ PROCESS_INFORMATION pi; + memset(&pi, 0, sizeof(pi)); + if (G_WIN32_HAVE_WIDECHAR_API ()) { + wchar_t *wc_cmd = g_utf8_to_utf16(command, + memset(&si, 0 , sizeof(si)); + retval = CreateProcessW(NULL, wc_cmd, NULL, + NULL, 0, 0, NULL, NULL, + char *l_cmd = g_locale_from_utf8(command, - memset(&ProcInfo, 0, sizeof(ProcInfo));
- memset(&StartInfo, 0 , sizeof(StartInfo));
- StartInfo.cb = sizeof(StartInfo);
- CreateProcess(NULL, (char *)command, NULL, NULL, 0, 0, NULL,
- NULL, &StartInfo, &ProcInfo);
+ memset(&si, 0 , sizeof(si)); + retval = CreateProcessA(NULL, l_cmd, NULL, + NULL, 0, 0, NULL, NULL, + CloseHandle(pi.hProcess); + CloseHandle(pi.hThread); + message = g_win32_error_message(GetLastError()); gaim_debug_info("pounce",
- "Pounce execute command called for: %s\n",
+ "Pounce execute command called for: " + retval ? "" : "Error: ",
if (gaim_pounce_action_is_enabled(pounce, "play-sound"))