diff --git a/mate-settings-daemon_a11y-keyboard-crash.patch b/mate-settings-daemon_a11y-keyboard-crash.patch new file mode 100644 index 0000000..9df1105 --- /dev/null +++ b/mate-settings-daemon_a11y-keyboard-crash.patch @@ -0,0 +1,86 @@ +diff --git a/plugins/a11y-keyboard/msd-a11y-preferences-dialog.c b/plugins/a11y-keyboard/msd-a11y-preferences-dialog.c +index 72d42ff..675b993 100644 +--- a/plugins/a11y-keyboard/msd-a11y-preferences-dialog.c ++++ b/plugins/a11y-keyboard/msd-a11y-preferences-dialog.c +@@ -458,7 +458,7 @@ on_sticky_keys_checkbutton_toggled (GtkToggleButton *button, + + static void + on_bounce_keys_checkbutton_toggled (GtkToggleButton *button, +- MsdA11yPreferencesDialog *dialog) ++ MsdA11yPreferencesDialog *dialog) + { + config_set_bounce_keys (dialog, gtk_toggle_button_get_active (button)); + } +@@ -649,7 +649,7 @@ setup_dialog (MsdA11yPreferencesDialog *dialog, + g_signal_connect (widget, + "toggled", + G_CALLBACK (on_sticky_keys_checkbutton_toggled), +- NULL); ++ dialog); + enabled = config_get_sticky_keys (dialog, &is_writable); + ui_set_sticky_keys (dialog, enabled); + if (! is_writable) { +@@ -662,7 +662,7 @@ setup_dialog (MsdA11yPreferencesDialog *dialog, + g_signal_connect (widget, + "toggled", + G_CALLBACK (on_bounce_keys_checkbutton_toggled), +- NULL); ++ dialog); + enabled = config_get_bounce_keys (dialog, &is_writable); + ui_set_bounce_keys (dialog, enabled); + if (! is_writable) { +@@ -675,7 +675,7 @@ setup_dialog (MsdA11yPreferencesDialog *dialog, + g_signal_connect (widget, + "toggled", + G_CALLBACK (on_slow_keys_checkbutton_toggled), +- NULL); ++ dialog); + enabled = config_get_slow_keys (dialog, &is_writable); + ui_set_slow_keys (dialog, enabled); + if (! is_writable) { +@@ -688,7 +688,7 @@ setup_dialog (MsdA11yPreferencesDialog *dialog, + g_signal_connect (widget, + "toggled", + G_CALLBACK (on_high_contrast_checkbutton_toggled), +- NULL); ++ dialog); + enabled = config_get_high_contrast (dialog, &is_writable); + ui_set_high_contrast (dialog, enabled); + if (! is_writable) { +@@ -701,7 +701,7 @@ setup_dialog (MsdA11yPreferencesDialog *dialog, + g_signal_connect (widget, + "toggled", + G_CALLBACK (on_at_screen_keyboard_checkbutton_toggled), +- NULL); ++ dialog); + enabled = config_get_at_screen_keyboard (dialog, &is_writable); + ui_set_at_screen_keyboard (dialog, enabled); + if (! is_writable) { +@@ -720,7 +720,7 @@ setup_dialog (MsdA11yPreferencesDialog *dialog, + g_signal_connect (widget, + "toggled", + G_CALLBACK (on_at_screen_reader_checkbutton_toggled), +- NULL); ++ dialog); + enabled = config_get_at_screen_reader (dialog, &is_writable); + ui_set_at_screen_reader (dialog, enabled); + if (! is_writable) { +@@ -739,7 +739,7 @@ setup_dialog (MsdA11yPreferencesDialog *dialog, + g_signal_connect (widget, + "toggled", + G_CALLBACK (on_at_screen_magnifier_checkbutton_toggled), +- NULL); ++ dialog); + enabled = config_get_at_screen_magnifier (dialog, &is_writable); + ui_set_at_screen_magnifier (dialog, enabled); + if (! is_writable) { +@@ -758,7 +758,7 @@ setup_dialog (MsdA11yPreferencesDialog *dialog, + g_signal_connect (widget, + "toggled", + G_CALLBACK (on_large_print_checkbutton_toggled), +- NULL); ++ dialog); + enabled = config_get_large_print (&is_writable); + ui_set_large_print (dialog, enabled); + if (! is_writable) { + diff --git a/mate-settings-daemon_changed-reaction-to-numlock-state.patch b/mate-settings-daemon_changed-reaction-to-numlock-state.patch new file mode 100644 index 0000000..d2a690b --- /dev/null +++ b/mate-settings-daemon_changed-reaction-to-numlock-state.patch @@ -0,0 +1,31 @@ +diff --git a/plugins/keyboard/msd-keyboard-manager.c b/plugins/keyboard/msd-keyboard-manager.c +index a4b97e5..8d261b6 100644 +--- a/plugins/keyboard/msd-keyboard-manager.c ++++ b/plugins/keyboard/msd-keyboard-manager.c +@@ -267,10 +267,6 @@ apply_settings (GSettings *settings, + bell_volume = (volume_string && !strcmp (volume_string, "on")) ? 50 : 0; + g_free (volume_string); + +-#ifdef HAVE_X11_EXTENSIONS_XKB_H +- rnumlock = g_settings_get_boolean (settings, KEY_NUMLOCK_REMEMBER); +-#endif /* HAVE_X11_EXTENSIONS_XKB_H */ +- + gdk_error_trap_push (); + if (repeat) { + gboolean rate_set = FALSE; +@@ -306,8 +302,12 @@ apply_settings (GSettings *settings, + &kbdcontrol); + + #ifdef HAVE_X11_EXTENSIONS_XKB_H +- if (manager->priv->have_xkb && rnumlock) { +- numlock_set_xkb_state (numlock_get_settings_state (settings)); ++ rnumlock = g_settings_get_boolean (settings, KEY_NUMLOCK_REMEMBER); ++ ++ if (rnumlock == 0 || key == NULL) { ++ if (manager->priv->have_xkb && rnumlock) { ++ numlock_set_xkb_state (numlock_get_settings_state (settings)); ++ } + } + #endif /* HAVE_X11_EXTENSIONS_XKB_H */ + +