Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
patch 8.0.1625: test_quotestar is flaky when run in GTK GUI
Problem:    Test_quotestar is flaky when run in GTK GUI.
Solution:   Do not call lose_selection when invoked from
            selection_clear_event().
  • Loading branch information
brammool committed Mar 20, 2018
1 parent 5a3a49e commit 29dfa5a
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 2 deletions.
13 changes: 11 additions & 2 deletions src/gui_gtk_x11.c
Expand Up @@ -1366,15 +1366,21 @@ key_release_event(GtkWidget *widget UNUSED,
* Selection handlers:
*/

/* Remember when clip_lose_selection was called from here, we must not call
* gtk_selection_owner_set() then. */
static int in_selection_clear_event = FALSE;

static gint
selection_clear_event(GtkWidget *widget UNUSED,
GdkEventSelection *event,
gpointer user_data UNUSED)
{
in_selection_clear_event = TRUE;
if (event->selection == clip_plus.gtk_sel_atom)
clip_lose_selection(&clip_plus);
else
clip_lose_selection(&clip_star);
in_selection_clear_event = FALSE;

return TRUE;
}
Expand Down Expand Up @@ -7048,8 +7054,11 @@ clip_mch_request_selection(VimClipboard *cbd)
void
clip_mch_lose_selection(VimClipboard *cbd UNUSED)
{
gtk_selection_owner_set(NULL, cbd->gtk_sel_atom, gui.event_time);
gui_mch_update();
if (!in_selection_clear_event)
{
gtk_selection_owner_set(NULL, cbd->gtk_sel_atom, gui.event_time);
gui_mch_update();
}
}

/*
Expand Down
2 changes: 2 additions & 0 deletions src/version.c
Expand Up @@ -766,6 +766,8 @@ static char *(features[]) =

static int included_patches[] =
{ /* Add new patch number below this line */
/**/
1625,
/**/
1624,
/**/
Expand Down

0 comments on commit 29dfa5a

Please sign in to comment.