Code built by the still unstable mingw-w64 toolchain gets bogus argc and

2008-08-07  Tor Lillqvist  <tml@novell.com>

	* app/main.c: Code built by the still unstable mingw-w64 toolchain
	gets bogus argc and argv when built as subsystem:windows, so use
	__argc and __argv instead, which seem to be OK.

	* libgimp/gimp.h: Similar change here.


svn path=/trunk/; revision=26420
This commit is contained in:
Tor Lillqvist
2008-08-07 15:45:33 +00:00
committed by Tor Lillqvist
parent eb92ab8b22
commit c1d3d25ef2
3 changed files with 27 additions and 2 deletions

View File

@ -1,3 +1,11 @@
2008-08-07 Tor Lillqvist <tml@novell.com>
* app/main.c: Code built by the still unstable mingw-w64 toolchain
gets bogus argc and argv when built as subsystem:windows, so use
__argc and __argv instead, which seem to be OK.
* libgimp/gimp.h: Similar change here.
2008-08-07 Sven Neumann <sven@gimp.org>
* app/base/tile-manager.c (tile_manager_invalidate_tile): fixed

View File

@ -278,6 +278,16 @@ main (int argc,
gchar *basename;
gint i;
#if defined (__GNUC__) && defined (_WIN64)
/* mingw-w64, at least the unstable build from late July 2008,
* starts subsystem:windows programs in main(), but passes them
* bogus argc and argv. __argc and __argv are OK, though, so just
* use them.
*/
argc = __argc;
argv = __argv;
#endif
g_thread_init (NULL);
#ifdef GIMP_UNSTABLE
@ -421,7 +431,11 @@ main (int argc,
#ifdef G_OS_WIN32
/* In case we build this as a windowed application. Well, we do. */
/* Provide WinMain in case we build GIMP as a subsystem:windows
* application. Well, we do. When built with mingw, though, user code
* execution still starts in main() in that case. So WinMain() gets
* used on MSVC builds only.
*/
#ifdef __GNUC__
# ifndef _stdcall

View File

@ -199,7 +199,10 @@ struct _GimpParam
int \
main (int argc, char *argv[]) \
{ \
return gimp_main (&PLUG_IN_INFO, argc, argv); \
/* Use __argc and __argv here, too, as they work \
* better with mingw-w64. \
*/ \
return gimp_main (&PLUG_IN_INFO, __argc, __argv); \
}
#else
# define MAIN() \