From 65d3546f109b4213bd01146570d2c398b65aafba Mon Sep 17 00:00:00 2001 From: John Ralls Date: Sat, 17 Dec 2022 10:41:34 -0800 Subject: [PATCH] [register] Delay post-ime reset of the selection. Works around bug 798587. --- gnucash/register/register-gnome/gnucash-sheet.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/gnucash/register/register-gnome/gnucash-sheet.c b/gnucash/register/register-gnome/gnucash-sheet.c index 4b009dc27b..374cd4fc07 100644 --- a/gnucash/register/register-gnome/gnucash-sheet.c +++ b/gnucash/register/register-gnome/gnucash-sheet.c @@ -1833,6 +1833,11 @@ gnucash_sheet_key_press_event_internal (GtkWidget *widget, GdkEventKey *event) /* Followed by the input method */ if (gtk_entry_im_context_filter_keypress (GTK_ENTRY(sheet->entry), event)) { + /* There's sometimes a timing issue when running under KDE + * Plasma where this call removes the selection. This 1ms + * sleep prevents it. + */ + usleep(1000); /* Restore the saved cursor position in case GtkEntry's IMContext * handlers messed with it after we set it in our insert_cb. */