summaryrefslogtreecommitdiff
path: root/gtk/gtkrc.c
diff options
context:
space:
mode:
authorTor Lillqvist <tml@iki.fi>2000-10-28 17:33:07 +0000
committerTor Lillqvist <tml@src.gnome.org>2000-10-28 17:33:07 +0000
commitd8dd345efaa21ce5300a0b7f23863dec0d3ec016 (patch)
treea695d7ebe7c1b7c0d4019cb5cc801c018a113416 /gtk/gtkrc.c
parentf2d6705f185031859e7737459195f187d401e12c (diff)
downloadgtk+-d8dd345efaa21ce5300a0b7f23863dec0d3ec016.tar.gz
Make sure not to get a double directory separator in case the home
2000-10-28 Tor Lillqvist <tml@iki.fi> * gtk/gtkrc.c (gtk_rc_append_default_module_path): Make sure not to get a double directory separator in case the home directory ends with one. This would cause trouble especially on Windows, where the path will be confused with the syntax for an an UNC (network share) path \\server\share\path. (gtk_rc_add_initial_default_files): Ditto.
Diffstat (limited to 'gtk/gtkrc.c')
-rw-r--r--gtk/gtkrc.c25
1 files changed, 19 insertions, 6 deletions
diff --git a/gtk/gtkrc.c b/gtk/gtkrc.c
index 5626ad4ff6..70dfcdf084 100644
--- a/gtk/gtkrc.c
+++ b/gtk/gtkrc.c
@@ -364,11 +364,19 @@ gtk_rc_append_default_module_path(void)
var = g_get_home_dir ();
if (var)
{
-#ifndef G_OS_WIN32
- path = g_strdup_printf ("%s%s", var, "/.gtk-2.0/" GTK_VERSION "/engines");
-#else
- path = g_strdup_printf ("%s%s", var, "\\_gtk\\themes\\engines");
-#endif
+ gchar *sep;
+ /* Don't duplicate the directory separator, causes trouble at
+ * least on Windows.
+ */
+ if (var[strlen (var) -1] != G_DIR_SEPARATOR)
+ sep = G_DIR_SEPARATOR_S;
+ else
+ sep = "";
+ /* This produces something like ~/.gtk-2.0/2.0/engines */
+ path = g_strdup_printf ("%s%s%s", var, sep,
+ ".gtk-2.0" G_DIR_SEPARATOR_S
+ GTK_VERSION G_DIR_SEPARATOR_S
+ "engines");
module_path[n++] = path;
}
module_path[n] = NULL;
@@ -414,7 +422,12 @@ gtk_rc_add_initial_default_files (void)
var = g_get_home_dir ();
if (var)
{
- str = g_strdup_printf ("%s" G_DIR_SEPARATOR_S ".gtkrc-2.0", var);
+ gchar *sep;
+ if (var[strlen (var) -1] != G_DIR_SEPARATOR)
+ sep = G_DIR_SEPARATOR_S;
+ else
+ sep = "";
+ str = g_strdup_printf ("%s%s.gtkrc-2.0", var, sep);
gtk_rc_add_default_file (str);
g_free (str);
}