glib r7472 - trunk/gio



Author: tml
Date: Fri Sep 12 00:54:14 2008
New Revision: 7472
URL: http://svn.gnome.org/viewvc/glib?rev=7472&view=rev

Log:
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.



Modified:
   trunk/gio/ChangeLog
   trunk/gio/gwin32appinfo.c

Modified: trunk/gio/gwin32appinfo.c
==============================================================================
--- trunk/gio/gwin32appinfo.c	(original)
+++ trunk/gio/gwin32appinfo.c	Fri Sep 12 00:54:14 2008
@@ -293,25 +293,12 @@
       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);



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]