X-Git-Url: http://pileus.org/git/?a=blobdiff_plain;f=gtk%2Fgtkrc.c;h=39517ae6ceba07ee920ace3c1245a14183556b71;hb=00c5e838710a01ed97a46d96910b6f118d240b99;hp=519422f562085cd9275cbaa33c5e5f07d7edb0a1;hpb=c65508d2723d255a9fcdfa8ac2a5f82b0667a7c6;p=~andy%2Fgtk diff --git a/gtk/gtkrc.c b/gtk/gtkrc.c index 519422f56..39517ae6c 100644 --- a/gtk/gtkrc.c +++ b/gtk/gtkrc.c @@ -26,9 +26,9 @@ #include "config.h" -#include "gdk/gdkx.h" +#include "gdkx.h" -#if GDK_WINDOWING == GDK_WINDOWING_X11 +#ifdef GDK_WINDOWING_X11 #include /* so we get the right setlocale */ #else #include @@ -46,7 +46,11 @@ #include #include -#ifdef _MSC_VER +#ifndef HAVE_LSTAT +#define lstat stat +#endif + +#ifdef G_OS_WIN32 #include #endif @@ -226,21 +230,21 @@ static GtkImageLoader image_loader = NULL; /* RC file handling */ -#ifdef NATIVE_WIN32 +#ifdef G_OS_WIN32 -static gchar * -get_gtk_sysconf_directory () +gchar * +get_gtk_sysconf_directory (void) { static gchar gtk_sysconf_dir[200]; gchar win_dir[100]; GetWindowsDirectory (win_dir, sizeof (win_dir)); - sprintf (gtk_sysconf_dir, "%s\\gtk", win_dir); + sprintf (gtk_sysconf_dir, "%s\\gtk+", win_dir); return gtk_sysconf_dir; } static gchar * -get_themes_directory () +get_themes_directory (void) { /* We really should fetch this from the Registry. The GIMP * installation program stores the Themes installation @@ -260,7 +264,7 @@ gtk_rc_get_theme_dir(void) { gchar *var, *path; -#ifndef NATIVE_WIN32 +#ifndef G_OS_WIN32 var = getenv("GTK_DATA_PREFIX"); if (var) path = g_strdup_printf("%s%s", var, "/share/themes"); @@ -278,7 +282,7 @@ gtk_rc_get_module_dir(void) { gchar *var, *path; -#ifndef NATIVE_WIN32 +#ifndef G_OS_WIN32 var = getenv("GTK_EXE_PREFIX"); if (var) path = g_strdup_printf("%s%s", var, "/lib/gtk/themes/engines"); @@ -297,7 +301,7 @@ gtk_rc_append_default_pixmap_path(void) gchar *var, *path; gint n; -#ifndef NATIVE_WIN32 +#ifndef G_OS_WIN32 var = getenv("GTK_DATA_PREFIX"); if (var) path = g_strdup_printf("%s%s", var, "/share/gtk/themes"); @@ -339,7 +343,7 @@ gtk_rc_append_default_module_path(void) if (n >= GTK_RC_MAX_MODULE_PATHS - 1) return; -#ifndef NATIVE_WIN32 +#ifndef G_OS_WIN32 var = getenv("GTK_EXE_PREFIX"); if (var) path = g_strdup_printf("%s%s", var, "/lib/gtk/themes/engines"); @@ -353,7 +357,7 @@ gtk_rc_append_default_module_path(void) var = g_get_home_dir (); if (var) { -#ifndef NATIVE_WIN32 +#ifndef G_OS_WIN32 path = g_strdup_printf ("%s%s", var, "/.gtk/lib/themes/engines"); #else path = g_strdup_printf ("%s%s", var, "\\_gtk\\themes\\engines"); @@ -391,7 +395,7 @@ gtk_rc_add_initial_default_files (void) } else { -#ifndef NATIVE_WIN32 +#ifndef G_OS_WIN32 str = g_strdup (GTK_SYSCONFDIR G_DIR_SEPARATOR_S "gtk" G_DIR_SEPARATOR_S "gtkrc"); #else str = g_strdup_printf ("%s\\gtkrc", get_gtk_sysconf_directory ()); @@ -463,10 +467,14 @@ gtk_rc_init (void) gchar *locale_suffixes[3]; gint n_locale_suffixes = 0; gint i, j; +#ifdef G_OS_WIN32 + char *locale = gwin_getlocale (); +#else #ifdef HAVE_LC_MESSAGES char *locale = setlocale (LC_MESSAGES, NULL); #else char *locale = setlocale (LC_CTYPE, NULL); +#endif #endif guint length; char *p; @@ -603,6 +611,8 @@ gtk_rc_parse_file (const gchar *filename, gboolean reload) dir = g_strdup(rc_file->canonical_name); for (i = strlen(dir) - 1; (i >= 0) && (dir[i] != G_DIR_SEPARATOR); i--) dir[i] = 0; + if (i >= 0 && dir[i] == G_DIR_SEPARATOR) + dir[i] = 0; gtk_rc_append_pixmap_path(dir); g_free(dir); }