Mouse panel overwrites existing settings on startup
For some reason, g-c-c hangs when writing settings which is a problem in itself, but this allowed me to see that the mouse panel changes settings on startup. It shouldn't change any settings unless the user makes changes.
Backtrace of the hang:
#0 0x00007f8e5e8dbc6a in fsync () from /lib64/libc.so.6
#1 0x00007f8e60781e58 in _g_local_file_output_stream_really_close (file=0x1349c40, cancellable=0x0, error=0x7ffe2485f7c8) at ../../../../Projects/jhbuild/glib/gio/glocalfileoutputstream.c:330
#2 0x00007f8e606d3223 in g_output_stream_internal_close (stream=stream@entry=0x1349c40, cancellable=cancellable@entry=0x0, error=error@entry=0x7ffe2485f7c8) at ../../../../Projects/jhbuild/glib/gio/goutputstream.c:875
#3 0x00007f8e606d5cde in g_output_stream_close (stream=stream@entry=0x1349c40, cancellable=cancellable@entry=0x0, error=error@entry=0x7ffe2485f7c8) at ../../../../Projects/jhbuild/glib/gio/goutputstream.c:940
#4 0x00007f8e606acd7f in g_file_replace_contents (file=<optimized out>, contents=contents@entry=0x1808280 "[org/gnome/control-center]\nlast-panel='mouse'\n\nwindow-state=(980, 640, false)\n\n[org/gnome/desktop/input-sources]\nxkb-options=['lv3:ralt_switch']\n\nper-window=false\n\nsources=[('xkb', 'us+altgr-intl'), ("..., length=<optimized out>, etag=etag@entry=0x0,
make_backup=make_backup@entry=0, flags=flags@entry=(G_FILE_CREATE_PRIVATE | G_FILE_CREATE_REPLACE_DESTINATION), new_etag=0x0, cancellable=0x0, error=0x7ffe2485f7c8) at ../../../../Projects/jhbuild/glib/gio/gfile.c:8212
#5 0x00007f8e6073438a in g_keyfile_settings_backend_keyfile_write (kfsb=kfsb@entry=0x1301940, error=error@entry=0x7ffe2485f7c8) at ../../../../Projects/jhbuild/glib/gio/gkeyfilesettingsbackend.c:119
#6 0x00007f8e607344bc in g_keyfile_settings_backend_write (backend=0x1301940, key=0x1695860 "/org/gnome/desktop/peripherals/touchpad/two-finger-scrolling-enabled", value=<optimized out>, origin_tag=0x0) at ../../../../Projects/jhbuild/glib/gio/gkeyfilesettingsbackend.c:422
#7 0x00007f8e60736345 in g_settings_backend_write (backend=0x1301940, key=key@entry=0x1695860 "/org/gnome/desktop/peripherals/touchpad/two-finger-scrolling-enabled", value=value@entry=0x13d5db0, origin_tag=origin_tag@entry=0x0) at ../../../../Projects/jhbuild/glib/gio/gsettingsbackend.c:802
#8 0x00007f8e6073c954 in g_settings_write_to_backend (key=0x7ffe2485f840, value=0x13d5db0, settings=0x173d150) at ../../../../Projects/jhbuild/glib/gio/gsettings.c:1165
#9 g_settings_set_value (settings=0x173d150, key=<optimized out>, value=0x13d5db0) at ../../../../Projects/jhbuild/glib/gio/gsettings.c:1605
#10 0x00007f8e605f78b2 in g_closure_invoke (closure=0x17a63b0, return_value=return_value@entry=0x0, n_param_values=2, param_values=param_values@entry=0x7ffe2485fa90, invocation_hint=invocation_hint@entry=0x7ffe2485fa30) at ../../../../Projects/jhbuild/glib/gobject/gclosure.c:832
#11 0x00007f8e6060a218 in signal_emit_unlocked_R (node=node@entry=0x12c03d0, detail=detail@entry=2006, instance=instance@entry=0x174dfb0, emission_return=emission_return@entry=0x0, instance_and_params=instance_and_params@entry=0x7ffe2485fa90) at ../../../../Projects/jhbuild/glib/gobject/gsignal.c:3814
#12 0x00007f8e60610a86 in g_signal_emit_valist (instance=<optimized out>, signal_id=<optimized out>, detail=<optimized out>, var_args=var_args@entry=0x7ffe2485fc28) at ../../../../Projects/jhbuild/glib/gobject/gsignal.c:3567
#13 0x00007f8e60610c4d in g_signal_emit (instance=instance@entry=0x174dfb0, signal_id=<optimized out>, detail=<optimized out>) at ../../../../Projects/jhbuild/glib/gobject/gsignal.c:3624
#14 0x00007f8e605fb4a4 in g_object_dispatch_properties_changed (object=0x174dfb0, n_pspecs=<optimized out>, pspecs=<optimized out>) at ../../../../Projects/jhbuild/glib/gobject/gobject.c:1428
#15 0x00007f8e605fbee4 in g_object_notify_queue_thaw (object=0x174dfb0, nqueue=<optimized out>) at ../../../../Projects/jhbuild/glib/gobject/gobject.c:359
#16 0x00007f8e605ff4ce in g_object_setv (values=<optimized out>, names=<optimized out>, n_properties=<optimized out>, object=0x174dfb0) at ../../../../Projects/jhbuild/glib/gobject/gobject.c:2727
#17 g_object_setv (object=0x174dfb0, n_properties=<optimized out>, names=<optimized out>, values=<optimized out>) at ../../../../Projects/jhbuild/glib/gobject/gobject.c:2694
#18 0x00007f8e6060053d in g_object_set_property (object=<optimized out>, property_name=<optimized out>, value=value@entry=0x7ffe2485fe60) at ../../../../Projects/jhbuild/glib/gobject/gobject.c:3023
#19 0x00007f8e6073af1c in g_settings_binding_key_changed (settings=settings@entry=0x173d150, key=<optimized out>, user_data=user_data@entry=0x180d5f0) at ../../../../Projects/jhbuild/glib/gio/gsettings.c:2696
#20 0x00007f8e6073de6d in g_settings_bind_with_mapping (settings=0x173d150, key=<optimized out>, object=0x174dfb0, property=<optimized out>, flags=<optimized out>, get_mapping=<optimized out>, set_mapping=<optimized out>, user_data=<optimized out>, destroy=<optimized out>) at ../../../../Projects/jhbuild/glib/gio/gsettings.c:3007
#21 0x00007f8e6073e3da in g_settings_bind (settings=<optimized out>, key=key@entry=0x565a8a "edge-scrolling-enabled", object=<optimized out>, property=property@entry=0x565a5b "use-default", flags=<optimized out>, flags@entry=G_SETTINGS_BIND_INVERT_BOOLEAN) at ../../../../Projects/jhbuild/glib/gio/gsettings.c:2831
#22 0x000000000049a271 in setup_dialog (self=0x169b600) at ../../../../Projects/jhbuild/gnome-control-center/panels/mouse/cc-mouse-panel.c:346
#23 cc_mouse_panel_init (self=0x169b600) at ../../../../Projects/jhbuild/gnome-control-center/panels/mouse/cc-mouse-panel.c:426
#24 0x00007f8e60618e90 in g_type_create_instance (type=<optimized out>) at ../../../../Projects/jhbuild/glib/gobject/gtype.c:1983
#25 0x00007f8e605fd0f8 in g_object_new_internal (class=class@entry=0x1693610, params=params@entry=0x7ffe24860210, n_params=n_params@entry=3) at ../../../../Projects/jhbuild/glib/gobject/gobject.c:2246
#26 0x00007f8e605fec50 in g_object_new_valist (object_type=<optimized out>, first_property_name=first_property_name@entry=0x558e46 "shell", var_args=var_args@entry=0x7ffe248604d8) at ../../../../Projects/jhbuild/glib/gobject/gobject.c:2585
#27 0x00007f8e605ff369 in g_object_new (object_type=<optimized out>, first_property_name=first_property_name@entry=0x558e46 "shell") at ../../../../Projects/jhbuild/glib/gobject/gobject.c:2058
#28 0x00000000004566a0 in cc_panel_loader_load_by_name (shell=shell@entry=0x139e100, name=name@entry=0x1691ce0 "mouse", title=title@entry=0x1692160 "Mouse & Touchpad", parameters=0x0) at ../../../../Projects/jhbuild/gnome-control-center/shell/cc-panel-loader.c:237