Prevent infinite recursion from gnucash_item_edit_focus_out.

When I try to use IME (e.g. fcitx) to narrow down a combo box,
infinite recursion occurs via `popup_set_focus` and GnuCash falls down
in SIGSEGV.

ref: https://github.com/Gnucash/gnucash/pull/1610#issuecomment-1528080452
This commit is contained in:
Kazuki Nishikawa 2023-04-29 10:52:30 +09:00 committed by John Ralls
parent 919bfa7178
commit 30da2b9a93

View File

@ -306,6 +306,9 @@ gnc_item_edit_focus_out (GncItemEdit *item_edit)
g_return_if_fail (item_edit != NULL);
g_return_if_fail (GNC_IS_ITEM_EDIT(item_edit));
if (item_edit->show_popup)
return; // Prevent recursion
ev.type = GDK_FOCUS_CHANGE;
ev.window = gtk_widget_get_window (GTK_WIDGET(item_edit->sheet));
ev.in = FALSE;