aboutsummaryrefslogtreecommitdiffstats
path: root/scripts
diff options
context:
space:
mode:
authorRoman Zippel <zippel@linux-m68k.org>2004-01-06 03:46:03 -0800
committerLinus Torvalds <torvalds@home.osdl.org>2004-01-06 03:46:03 -0800
commit550fcfc195905fd3a99fa249757c678ac734acc7 (patch)
tree3392a7cfde3310f570e18f2e69565d6595994a05 /scripts
parentcf2c4a429483a68475bbcce9a9364eb883aaf5b7 (diff)
downloadhistory-550fcfc195905fd3a99fa249757c678ac734acc7.tar.gz
[PATCH] gconf startup fixes
Let gconf find it's glade file, even it's started with an absolute path and check srcdir so it also works if it's compiled outside of the tree.
Diffstat (limited to 'scripts')
-rw-r--r--scripts/kconfig/gconf.c15
1 files changed, 8 insertions, 7 deletions
diff --git a/scripts/kconfig/gconf.c b/scripts/kconfig/gconf.c
index 792a0664c5abc..10d70e333ec95 100644
--- a/scripts/kconfig/gconf.c
+++ b/scripts/kconfig/gconf.c
@@ -1582,7 +1582,7 @@ void fixup_rootmenu(struct menu *menu)
int main(int ac, char *av[])
{
const char *name;
- gchar *cur_dir, *exe_path;
+ char *env;
gchar *glade_file;
#ifndef LKC_DIRECT_LINK
@@ -1598,12 +1598,13 @@ int main(int ac, char *av[])
//add_pixmap_directory (PACKAGE_SOURCE_DIR "/pixmaps");
/* Determine GUI path */
- cur_dir = g_get_current_dir();
- exe_path = g_strdup(av[0]);
- exe_path[0] = '/';
- glade_file = g_strconcat(cur_dir, exe_path, ".glade", NULL);
- g_free(cur_dir);
- g_free(exe_path);
+ env = getenv(SRCTREE);
+ if (env)
+ glade_file = g_strconcat(env, "/scripts/kconfig/gconf.glade", NULL);
+ else if (av[0][0] == '/')
+ glade_file = g_strconcat(av[0], ".glade", NULL);
+ else
+ glade_file = g_strconcat(g_get_current_dir(), "/", av[0], ".glade", NULL);
/* Load the interface and connect signals */
init_main_window(glade_file);