diff options
author | Bram Moolenaar <Bram@vim.org> | 2011-06-26 04:49:00 +0200 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2011-06-26 04:49:00 +0200 |
commit | 20892c1e6830abf25828fb73a72815d904271bd0 (patch) | |
tree | 4ea1a8d83ed9d282246f8b91f1c31b5e00dcd385 /src | |
parent | d58ea072271a14db1f0422d787e2cbd59d530476 (diff) | |
download | vim-git-20892c1e6830abf25828fb73a72815d904271bd0.tar.gz |
updated for version 7.3.234v7.3.234
Problem: With GTK menu may be popping down.
Solution: Use event time instead of GDK_CURRENT_TIME. (Hong Xu)
Diffstat (limited to 'src')
-rw-r--r-- | src/gui.c | 4 | ||||
-rw-r--r-- | src/gui.h | 2 | ||||
-rw-r--r-- | src/gui_gtk.c | 2 | ||||
-rw-r--r-- | src/gui_gtk_x11.c | 12 | ||||
-rw-r--r-- | src/version.c | 2 |
5 files changed, 14 insertions, 8 deletions
@@ -84,6 +84,10 @@ gui_start() gui.starting = TRUE; full_screen = FALSE; +#ifdef FEAT_GUI_GTK + gui.event_time = GDK_CURRENT_TIME; +#endif + #ifdef MAY_FORK if (!gui.dofork || vim_strchr(p_go, GO_FORG) || recursive) dofork = FALSE; @@ -401,6 +401,8 @@ typedef struct Gui GtkAccelGroup *accel_group; GtkWidget *filedlg; /* file selection dialog */ char_u *browse_fname; /* file name from filedlg */ + + guint32 event_time; #endif /* FEAT_GUI_GTK */ #if defined(FEAT_GUI_TABLINE) \ diff --git a/src/gui_gtk.c b/src/gui_gtk.c index 94cebd471..50079b406 100644 --- a/src/gui_gtk.c +++ b/src/gui_gtk.c @@ -1391,7 +1391,7 @@ gui_mch_show_popupmenu(vimmenu_T *menu) gtk_menu_popup(GTK_MENU(menu->submenu_id), NULL, NULL, (GtkMenuPositionFunc)NULL, NULL, - 3U, (guint32)GDK_CURRENT_TIME); + 3U, gui.event_time); } /* Ugly global variable to pass "mouse_pos" flag from gui_make_popup() to diff --git a/src/gui_gtk_x11.c b/src/gui_gtk_x11.c index 77be9767b..9d95f1a48 100644 --- a/src/gui_gtk_x11.c +++ b/src/gui_gtk_x11.c @@ -88,8 +88,6 @@ extern void bonobo_dock_item_set_behavior(BonoboDockItem *dock_item, BonoboDockI # include <X11/Sunkeysym.h> #endif -static guint32 clipboard_event_time = CurrentTime; - /* * Easy-to-use macro for multihead support. */ @@ -934,7 +932,7 @@ key_press_event(GtkWidget *widget UNUSED, guint state; char_u *s, *d; - clipboard_event_time = event->time; + gui.event_time = event->time; key_sym = event->keyval; state = event->state; @@ -1129,7 +1127,7 @@ key_release_event(GtkWidget *widget UNUSED, GdkEventKey *event, gpointer data UNUSED) { - clipboard_event_time = event->time; + gui.event_time = event->time; /* * GTK+ 2 input methods may do fancy stuff on key release events too. * With the default IM for instance, you can enter any UCS code point @@ -1622,7 +1620,7 @@ button_press_event(GtkWidget *widget, int x, y; int_u vim_modifiers; - clipboard_event_time = event->time; + gui.event_time = event->time; /* Make sure we have focus now we've been selected */ if (gtk_socket_id != 0 && !GTK_WIDGET_HAS_FOCUS(widget)) @@ -1733,7 +1731,7 @@ button_release_event(GtkWidget *widget UNUSED, int x, y; int_u vim_modifiers; - clipboard_event_time = event->time; + gui.event_time = event->time; /* Remove any motion "machine gun" timers used for automatic further extension of allocation areas if outside of the applications window @@ -5654,7 +5652,7 @@ clip_mch_own_selection(VimClipboard *cbd) int success; success = gtk_selection_owner_set(gui.drawarea, cbd->gtk_sel_atom, - clipboard_event_time); + gui.event_time); gui_mch_update(); return (success) ? OK : FAIL; } diff --git a/src/version.c b/src/version.c index 0057a0a07..ccb59a02a 100644 --- a/src/version.c +++ b/src/version.c @@ -710,6 +710,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 234, +/**/ 233, /**/ 232, |