gnucash stable: Multiple changes pushed

John Ralls jralls at code.gnucash.org
Sat Apr 29 13:44:12 EDT 2023


Updated	 via  https://github.com/Gnucash/gnucash/commit/98776629 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/30da2b9a (commit)
	from  https://github.com/Gnucash/gnucash/commit/44288273 (commit)



commit 98776629ebfc5ceb64bc5843d408830fe19fa9ed
Merge: 4428827376 30da2b9a93
Author: John Ralls <jralls at ceridwen.us>
Date:   Sat Apr 29 10:41:47 2023 -0700

    Merge Kazuki Nishikawa's 'fix-ime-segv' into stable.


commit 30da2b9a9398cd77ba0e8346a0b6748d857ed541
Author: Kazuki Nishikawa <kz.nishikawa at gmail.com>
Date:   Sat Apr 29 10:52:30 2023 +0900

    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

diff --git a/gnucash/register/register-gnome/gnucash-item-edit.c b/gnucash/register/register-gnome/gnucash-item-edit.c
index 649d6a71fe..da6b5044b3 100644
--- a/gnucash/register/register-gnome/gnucash-item-edit.c
+++ b/gnucash/register/register-gnome/gnucash-item-edit.c
@@ -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;



Summary of changes:
 gnucash/register/register-gnome/gnucash-item-edit.c | 3 +++
 1 file changed, 3 insertions(+)



More information about the gnucash-changes mailing list