diff options
author | Tor Lillqvist <tml@iki.fi> | 2004-12-05 12:43:47 +0000 |
---|---|---|
committer | Tor Lillqvist <tml@src.gnome.org> | 2004-12-05 12:43:47 +0000 |
commit | 141506eb46927eb10b74bc24727488bdbde1c7d4 (patch) | |
tree | d72a6b54bd53321d76840aa7fd5f3741948fdd07 /gdk-pixbuf/gdk-pixbuf-csource.c | |
parent | 55f6edcf0eeaba8f5b9b1e4ec286889c269d8be9 (diff) | |
download | gdk-pixbuf-141506eb46927eb10b74bc24727488bdbde1c7d4.tar.gz |
gdk-pixbuf-animation.c gdk-pixbuf-io.c io-xbm.c io-xpm.c
2004-12-05 Tor Lillqvist <tml@iki.fi>
* gdk-pixbuf-animation.c
* gdk-pixbuf-io.c
* io-xbm.c
* io-xpm.c
* make-inline-pixbuf.c
* queryloaders.c: Use gstdio wrappers. Document that file names
are in the GLib file name encoding.
* gdk-pixbuf-csource.c
* queryloaders.c: On Windows, convert command line arguments and
environment variable values from locale encoding to UTF-8.
* queryloaders.c: On Windows, use wide character API when
available.
* Makefile.am
* gdk-pixbuf-core.h
* gdk-pixbuf-io.c
* gdk-pixbuf-animation.h
* gdk-pixbuf-animation.c: Like in GLib, for DLL ABI stability on
Windows, add binary compatibility versions of functions that take
file names as arguments. They use the system codepage, not GLib
file name encoding (which is UTF-8 on Windows). Use #defines to
make newly compiled code use the "real" functions that use the
GLib file name encoding scheme.
Diffstat (limited to 'gdk-pixbuf/gdk-pixbuf-csource.c')
-rw-r--r-- | gdk-pixbuf/gdk-pixbuf-csource.c | 22 |
1 files changed, 19 insertions, 3 deletions
diff --git a/gdk-pixbuf/gdk-pixbuf-csource.c b/gdk-pixbuf/gdk-pixbuf-csource.c index 9b0a66230..4e21553d5 100644 --- a/gdk-pixbuf/gdk-pixbuf-csource.c +++ b/gdk-pixbuf/gdk-pixbuf-csource.c @@ -75,6 +75,7 @@ main (int argc, { GdkPixbuf *pixbuf; GError *error = NULL; + gchar *infilename; /* initialize glib/GdkPixbuf */ g_type_init (); @@ -90,7 +91,13 @@ main (int argc, return 1; } - pixbuf = gdk_pixbuf_new_from_file (argv[1], &error); +#ifdef G_OS_WIN32 + infilename = g_locale_to_utf8 (argv[1], -1, NULL, NULL, NULL); +#else + infilename = argv[1]; +#endif + + pixbuf = gdk_pixbuf_new_from_file (infilename, &error); if (!pixbuf) { g_fprintf (stderr, "failed to load \"%s\": %s\n", @@ -111,11 +118,20 @@ main (int argc, while (j--) { +#ifdef G_OS_WIN32 + infilename = g_locale_to_utf8 (*p, -1, NULL, NULL, NULL); +#else + infilename = *p; +#endif + if (!toggle) - image_name = *p++; + { + image_name = infilename; + p++; + } else { - pixbuf = gdk_pixbuf_new_from_file (*p, &error); + pixbuf = gdk_pixbuf_new_from_file (infilename, &error); if (!pixbuf) { g_fprintf (stderr, "failed to load \"%s\": %s\n", |