diff options
author | Bram Moolenaar <Bram@vim.org> | 2006-05-04 21:57:11 +0000 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2006-05-04 21:57:11 +0000 |
commit | 54a709eb08f28b890f11b5ff44c260cc39502ee0 (patch) | |
tree | 0b22ef2850d3ae220b83642e4f3ab60ae6585327 /src | |
parent | 14716817266007c373d5cc6ee2294416e3132be6 (diff) | |
download | vim-git-54a709eb08f28b890f11b5ff44c260cc39502ee0.tar.gz |
updated for version 7.0g03v7.0g03
Diffstat (limited to 'src')
-rw-r--r-- | src/gui_beval.c | 11 | ||||
-rw-r--r-- | src/gui_gtk_x11.c | 1 |
2 files changed, 11 insertions, 1 deletions
diff --git a/src/gui_beval.c b/src/gui_beval.c index 077991d5a..655d5aedc 100644 --- a/src/gui_beval.c +++ b/src/gui_beval.c @@ -33,13 +33,19 @@ general_beval_cb(beval, state) #ifdef FEAT_WINDOWS win_T *cw; #endif - + static int recursive = FALSE; /* Don't do anything when 'ballooneval' is off, messages scrolled the * windows up or we have no beval area. */ if (!p_beval || balloonEval == NULL || msg_scrolled > 0) return; + /* Don't do this recursively. Happens when the expression evaluation + * takes a long time and invokes something that checks for CTRL-C typed. */ + if (recursive) + return; + recursive = TRUE; + #ifdef FEAT_EVAL if (get_beval_info(balloonEval, TRUE, &wp, &lnum, &text, &col) == OK) { @@ -84,6 +90,7 @@ general_beval_cb(beval, state) if (result != NULL && result[0] != NUL) { gui_mch_post_balloon(beval, result); + recursive = FALSE; return; } } @@ -97,6 +104,8 @@ general_beval_cb(beval, state) if (bevalServers & BEVAL_WORKSHOP) workshop_beval_cb(beval, state); #endif + + recursive = FALSE; } /* on Win32 only get_beval_info() is required */ diff --git a/src/gui_gtk_x11.c b/src/gui_gtk_x11.c index c6b093f26..36688ea07 100644 --- a/src/gui_gtk_x11.c +++ b/src/gui_gtk_x11.c @@ -3691,6 +3691,7 @@ gui_mch_init(void) gtk_container_add(GTK_CONTAINER(event_box), label); gtk_notebook_set_tab_label(GTK_NOTEBOOK(gui.tabline), page, event_box); } + gtk_signal_connect(GTK_OBJECT(gui.tabline), "switch_page", GTK_SIGNAL_FUNC(on_select_tab), NULL); |