Mercurial > vim
changeset 1003:a1c1f001b99d v7.0.129
updated for version 7.0-129
author | vimboss |
---|---|
date | Tue, 10 Oct 2006 16:28:30 +0000 |
parents | 41ab6b381572 |
children | 09d0e83c29b8 |
files | src/gui_gtk.c src/version.c |
diffstat | 2 files changed, 9 insertions(+), 7 deletions(-) [+] |
line wrap: on
line diff
--- a/src/gui_gtk.c +++ b/src/gui_gtk.c @@ -1275,18 +1275,13 @@ gui_mch_browse(int saving, title = CONVERT_TO_UTF8(title); # endif - /* Concatenate "initdir" and "dflt". */ + /* GTK has a bug, it only works with an absolute path. */ if (initdir == NULL || *initdir == NUL) mch_dirname(dirbuf, MAXPATHL); - else if (STRLEN(initdir) + 2 < MAXPATHL) - STRCPY(dirbuf, initdir); - else + else if (vim_FullName(initdir, dirbuf, MAXPATHL - 2, FALSE) == FAIL) dirbuf[0] = NUL; /* Always need a trailing slash for a directory. */ add_pathsep(dirbuf); - if (dflt != NULL && *dflt != NUL - && STRLEN(dirbuf) + 2 + STRLEN(dflt) < MAXPATHL) - STRCAT(dirbuf, dflt); /* If our pointer is currently hidden, then we should show it. */ gui_mch_mousehide(FALSE); @@ -1341,6 +1336,11 @@ gui_mch_browse(int saving, else gtk_window_set_title(GTK_WINDOW(gui.filedlg), (const gchar *)title); + /* Concatenate "initdir" and "dflt". */ + if (dflt != NULL && *dflt != NUL + && STRLEN(dirbuf) + 2 + STRLEN(dflt) < MAXPATHL) + STRCAT(dirbuf, dflt); + gtk_file_selection_set_filename(GTK_FILE_SELECTION(gui.filedlg), (const gchar *)dirbuf); # ifndef HAVE_GTK2