summaryrefslogtreecommitdiff
path: root/gtk
diff options
context:
space:
mode:
Diffstat (limited to 'gtk')
-rw-r--r--gtk/gtkiconfactory.c10
-rw-r--r--gtk/gtkitemfactory.c2
-rw-r--r--gtk/gtkmain.c43
3 files changed, 43 insertions, 12 deletions
diff --git a/gtk/gtkiconfactory.c b/gtk/gtkiconfactory.c
index d15e083fae..9bef0c519f 100644
--- a/gtk/gtkiconfactory.c
+++ b/gtk/gtkiconfactory.c
@@ -335,7 +335,7 @@ sized_icon_set_from_inline (const guchar *inline_data,
set = gtk_icon_set_new ();
- source.pixbuf = gdk_pixbuf_new_from_stream (-1, inline_data, FALSE, NULL);
+ source.pixbuf = gdk_pixbuf_new_from_inline (-1, inline_data, FALSE, NULL);
g_assert (source.pixbuf);
@@ -361,7 +361,7 @@ sized_with_fallback_icon_set_from_inline (const guchar *fallback_data,
set = gtk_icon_set_new ();
- source.pixbuf = gdk_pixbuf_new_from_stream (-1, inline_data, FALSE, NULL);
+ source.pixbuf = gdk_pixbuf_new_from_inline (-1, inline_data, FALSE, NULL);
g_assert (source.pixbuf);
@@ -371,7 +371,7 @@ sized_with_fallback_icon_set_from_inline (const guchar *fallback_data,
source.any_size = TRUE;
- source.pixbuf = gdk_pixbuf_new_from_stream (-1, fallback_data, FALSE, NULL);
+ source.pixbuf = gdk_pixbuf_new_from_inline (-1, fallback_data, FALSE, NULL);
g_assert (source.pixbuf);
@@ -393,7 +393,7 @@ unsized_icon_set_from_inline (const guchar *inline_data)
set = gtk_icon_set_new ();
- source.pixbuf = gdk_pixbuf_new_from_stream (-1, inline_data, FALSE, NULL);
+ source.pixbuf = gdk_pixbuf_new_from_inline (-1, inline_data, FALSE, NULL);
g_assert (source.pixbuf);
@@ -1079,7 +1079,7 @@ render_fallback_image (GtkStyle *style,
static GtkIconSource fallback_source = { NULL, NULL, 0, 0, 0, TRUE, TRUE, TRUE };
if (fallback_source.pixbuf == NULL)
- fallback_source.pixbuf = gdk_pixbuf_new_from_stream (-1, MISSING_IMAGE_INLINE, FALSE, NULL);
+ fallback_source.pixbuf = gdk_pixbuf_new_from_inline (-1, MISSING_IMAGE_INLINE, FALSE, NULL);
return gtk_style_render_icon (style,
&fallback_source,
diff --git a/gtk/gtkitemfactory.c b/gtk/gtkitemfactory.c
index a0b5d33cdd..6ab691fbad 100644
--- a/gtk/gtkitemfactory.c
+++ b/gtk/gtkitemfactory.c
@@ -1225,7 +1225,7 @@ gtk_item_factory_create_item (GtkItemFactory *ifactory,
GdkPixbuf *pixbuf = NULL;
image = NULL;
- pixbuf = gdk_pixbuf_new_from_stream (-1,
+ pixbuf = gdk_pixbuf_new_from_inline (-1,
entry->extra_data,
FALSE,
NULL);
diff --git a/gtk/gtkmain.c b/gtk/gtkmain.c
index 180e29d082..887f61477f 100644
--- a/gtk/gtkmain.c
+++ b/gtk/gtkmain.c
@@ -363,6 +363,28 @@ load_modules (const char *module_str)
return gtk_modules;
}
+static gboolean do_setlocale = TRUE;
+
+/**
+ * gtk_disable_setlocale:
+ *
+ * Prevents gtk_init() and gtk_init_check() from automatically
+ * calling setlocale (LC_ALL, ""). You would want to use this
+ * function if you wanted to set the locale for your program
+ * to something other than the user's locale, or if you wanted
+ * to set different values for different locale categories.
+ *
+ * Most programs should not need to call this function.
+ **/
+static void
+gtk_disable_setlocale (void)
+{
+ if (gtk_initialized)
+ g_warning ("gtk_disable_setlocale() must be called before gtk_init()");
+
+ do_setlocale = FALSE;
+}
+
gboolean
gtk_init_check (int *argc,
char ***argv)
@@ -384,6 +406,9 @@ gtk_init_check (int *argc,
g_set_message_handler (gtk_message);
g_set_print_handler (gtk_print);
#endif
+
+ if (do_setlocale)
+ setlocale (LC_ALL, "");
/* Initialize "gdk". We pass along the 'argc' and 'argv'
* parameters as they contain information that GDK uses
@@ -656,17 +681,23 @@ gtk_exit (gint errorcode)
/**
* gtk_set_locale:
*
+ * Initializes internationalization support for GTK+. gtk_init()
+ * automatically does this, so there is typically no point
+ * in calling this function.
*
- * Initializes internationalization support for GTK+. You
- * should call this function before gtk_init() if your application
- * supports internationalization.
+ * If you are calling this function because you changed the locale
+ * after GTK+ is was initialized, then calling this function
+ * may help a bit. (Note, however, that changing the locale
+ * after GTK+ is initialized may produce inconsistent results and
+ * is not really supported.)
*
- * (In gory detail - sets the current locale according to the
+ * In detail - sets the current locale according to the
* program environment. This is the same as calling the libc function
* setlocale (LC_ALL, "") but also takes care of the locale specific
- * setup of the windowing system used by GDK.)
+ * setup of the windowing system used by GDK.
*
- * Return value: a string corresponding to the locale set, as with the C library function setlocale()
+ * Return value: a string corresponding to the locale set, as with the
+ * C library function setlocale()
**/
gchar*
gtk_set_locale (void)