gnucash master: Bug 797808 - Caps Lock Breaks Almost Everything

Robert Fewell bobit at code.gnucash.org
Fri Jun 19 11:09:02 EDT 2020


Updated	 via  https://github.com/Gnucash/gnucash/commit/3d5606a5 (commit)
	from  https://github.com/Gnucash/gnucash/commit/f147f4d7 (commit)



commit 3d5606a54be74c14c37f4f32d9a3aa3f8ee500cd
Author: Robert Fewell <14uBobIT at gmail.com>
Date:   Fri Jun 19 16:05:36 2020 +0100

    Bug 797808 - Caps Lock Breaks Almost Everything
    
    Put back the test for modifiers obtained from
    gtk_accelerator_get_default_mod_mask

diff --git a/gnucash/register/register-gnome/gnucash-sheet.c b/gnucash/register/register-gnome/gnucash-sheet.c
index f70f01269..5c0d2d490 100644
--- a/gnucash/register/register-gnome/gnucash-sheet.c
+++ b/gnucash/register/register-gnome/gnucash-sheet.c
@@ -1741,6 +1741,7 @@ gnucash_sheet_key_press_event_internal (GtkWidget *widget, GdkEventKey *event)
     VirtualLocation new_virt_loc;
     gncTableTraversalDir direction = 0;
     int distance;
+    GdkModifierType modifiers = gtk_accelerator_get_default_mod_mask ();
 
     g_return_val_if_fail(widget != NULL, TRUE);
     g_return_val_if_fail(GNUCASH_IS_SHEET(widget), TRUE);
@@ -1774,7 +1775,7 @@ gnucash_sheet_key_press_event_internal (GtkWidget *widget, GdkEventKey *event)
     /* Don't process any keystrokes where a modifier key (Alt, Meta, etc.) is
      * being held down.  This shouldn't include NUM LOCK.
      */
-    if (event->state & GDK_MODIFIER_INTENT_DEFAULT_MOD_MASK)
+    if (event->state & modifiers & (GDK_MODIFIER_INTENT_DEFAULT_MOD_MASK))
         pass_on = TRUE;
     else if (process_motion_keys (sheet, event, &pass_on,
                                   &direction, &new_virt_loc)) //may set pass_on



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



More information about the gnucash-changes mailing list