Don't call FormatMessage() etc here. Call g_win32_error_message() instead

2008-09-12  Tor Lillqvist  <tml@novell.com>

	* gwin32appinfo.c (g_win32_app_info_launch): Don't call
	FormatMessage() etc here. Call g_win32_error_message() instead
	which already does all that. Besides, the code was broken as it
	called the default "A" version of FormatMessage() but still
	thought it produced a wide string.


svn path=/trunk/; revision=7472
This commit is contained in:
Tor Lillqvist 2008-09-12 00:54:14 +00:00 committed by Tor Lillqvist
parent b6d834a588
commit 654822b9be
2 changed files with 11 additions and 16 deletions

View File

@ -1,3 +1,11 @@
2008-09-12 Tor Lillqvist <tml@novell.com>
* gwin32appinfo.c (g_win32_app_info_launch): Don't call
FormatMessage() etc here. Call g_win32_error_message() instead
which already does all that. Besides, the code was broken as it
called the default "A" version of FormatMessage() but still
thought it produced a wide string.
2008-09-12 Michael Natterer <mitch@imendio.com>
* gfileinfo.c (g_file_info_get_content_type): remove dangling 's'

View File

@ -293,25 +293,12 @@ g_win32_app_info_launch (GAppInfo *appinfo,
exec_info.nShow = SW_SHOWNORMAL;
exec_info.hkeyClass = class_key;
if (!ShellExecuteExW(&exec_info))
if (!ShellExecuteExW (&exec_info))
{
DWORD last_error;
LPVOID message;
char *message_utf8;
last_error = GetLastError ();
FormatMessage (FORMAT_MESSAGE_ALLOCATE_BUFFER |
FORMAT_MESSAGE_FROM_SYSTEM,
NULL,
last_error,
MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT),
(LPTSTR) &message,
0, NULL );
message_utf8 = g_utf16_to_utf8 (message, -1, NULL, NULL, NULL);
char *message_utf8 = g_win32_error_message (GetLastError ());
g_set_error (error, G_IO_ERROR, G_IO_ERROR_FAILED, _("Error launching application: %s"), message_utf8);
g_free (message_utf8);
LocalFree (message);
g_free (wfilename);
RegCloseKey (class_key);