When ignoring deprecation warnings, the following errors remain: 1. msd-a11y-keyboard-atspi.c
msd-a11y-keyboard-atspi.c:131:53: error: passing argument 1 of ‘atspi_device_listener_new’ from incompatible pointer type [-Wincompatible-pointer-types] 131 | self->listener = atspi_device_listener_new (on_key_press_event, | ^~~~~~~~~~~~~~~~~~ | | | gboolean (*)(const AtspiDeviceEvent *, void *) {aka int (*)(const struct _AtspiDeviceEvent *, void *)} In file included from /usr/include/at-spi-2.0/atspi/atspi.h:34, from msd-a11y-keyboard-atspi.c:27: /usr/include/at-spi-2.0/atspi/atspi-device-listener.h:88:71: note: expected ‘AtspiDeviceListenerCB’ {aka ‘int (*)(struct _AtspiDeviceEvent *, void *)’} but argument is of type ‘gboolean (*)(const AtspiDeviceEvent *, void *)’ {aka ‘int (*)(const struct _AtspiDeviceEvent *, void *)’} 88 | AtspiDeviceListener *atspi_device_listener_new (AtspiDeviceListenerCB callback, void *user_data, GDestroyNotify callback_destroyed); | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~ seems the "const" of the 1st argument of on_key_press_event() needs to be removed to fully match the defined callback-interface 2. msd-xrandr-manager.c msd-xrandr-manager.c: In function ‘apply_intended_configuration’: msd-xrandr-manager.c:2419:17: error: ‘return’ with no value, in function returning non-void [-Wreturn-mismatch] 2419 | return; | ^~~~~~ msd-xrandr-manager.c:2412:1: note: declared here 2412 | apply_intended_configuration (MsdXrandrManager *manager, const char *intended_filename, guint32 timestamp) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ missing true or false in the return at msd-xrandr-manager.c:2419