fixed a segfault on attempting to open a void selection in a newly opened terminal window

This commit is contained in:
throsturx 2017-11-29 14:41:57 +00:00
parent 1f9ab29f74
commit 06170ca5e9
1 changed files with 7 additions and 0 deletions

View File

@ -564,6 +564,13 @@ static void move_to_row_start(VteTerminal *vte, select_info *select, long row) {
} }
static void open_selection(char *browser, VteTerminal *vte) { static void open_selection(char *browser, VteTerminal *vte) {
// If the terminal has been opened, but no selection has ever been made
// , a segfault will occur upon attempting to make the unique pointer
// within vte_terminal_get_selection(vte) (unless if there is no browser).
if (!vte_terminal_get_has_selection(vte)) {
g_printerr("no selection to open\n");
return
}
if (browser) { if (browser) {
auto selection = make_unique(vte_terminal_get_selection(vte), g_free); auto selection = make_unique(vte_terminal_get_selection(vte), g_free);
if (selection && *selection) { if (selection && *selection) {