diff options
author | Christian Persch <chpe@gnome.org> | 2013-06-01 19:07:55 +0200 |
---|---|---|
committer | Christian Persch <chpe@gnome.org> | 2013-06-01 19:07:55 +0200 |
commit | 89f6741d8e0ce481b7ec188043e26488edb5a455 (patch) | |
tree | 96a2e201c24fd063681b40dda1c6e634288290da | |
parent | 4100d11e579108289f7e3c994865e77aa7c35422 (diff) | |
download | vte-89f6741d8e0ce481b7ec188043e26488edb5a455.tar.gz |
emulation: Allow unsetting the current-{directory,file}-uri
By passing "" (or an invalid, non-URI value), unset the property.
-rw-r--r-- | src/vteseq.c | 32 |
1 files changed, 18 insertions, 14 deletions
diff --git a/src/vteseq.c b/src/vteseq.c index 6a60bcd8..efd28ac6 100644 --- a/src/vteseq.c +++ b/src/vteseq.c @@ -2564,13 +2564,15 @@ vte_sequence_handler_set_current_directory_uri (VteTerminal *terminal, GValueArr } /* Validate URI */ - filename = g_filename_from_uri (uri, NULL, NULL); - if (filename == NULL) { - /* invalid URI */ - g_free (uri); - uri = NULL; - } else { - g_free (filename); + if (uri && uri[0]) { + filename = g_filename_from_uri (uri, NULL, NULL); + if (filename == NULL) { + /* invalid URI */ + g_free (uri); + uri = NULL; + } else { + g_free (filename); + } } g_free(terminal->pvt->current_directory_uri_changed); @@ -2596,13 +2598,15 @@ vte_sequence_handler_set_current_file_uri (VteTerminal *terminal, GValueArray *p } /* Validate URI */ - filename = g_filename_from_uri (uri, NULL, NULL); - if (filename == NULL) { - /* invalid URI */ - g_free (uri); - uri = NULL; - } else { - g_free (filename); + if (uri && uri[0]) { + filename = g_filename_from_uri (uri, NULL, NULL); + if (filename == NULL) { + /* invalid URI */ + g_free (uri); + uri = NULL; + } else { + g_free (filename); + } } g_free(terminal->pvt->current_file_uri_changed); |