Since the first entry in the Touchpad section causes the sensitive
of the items below to change, those items are in a diferent ListBox.
To make it look like it is all the same ListBox, we arbitrarily add
a separator between the first item and the items below.
https://bugzilla.gnome.org/show_bug.cgi?id=756863
Fixes the situation where you unplug a touchpad device which
supports two-finger-scrolling and plug in another one with
edge-scrolling only, we would have two switches. These entries
are mutually exclusive.
https://bugzilla.gnome.org/show_bug.cgi?id=756863
If you don't have any printers, the panel used to look rather bare.
There was also a "No printers available" label, which was confusing,
and the insensitive list might be hard to understand.
https://bugzilla.gnome.org/show_bug.cgi?id=690351
This fixes:
==5944== 64,392 bytes in 4,223 blocks are definitely lost in loss record 16,020 of 16,045
==5944== at 0x4C28C50: malloc (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
==5944== by 0x1445EFCC: g_malloc (gmem.c:94)
==5944== by 0x1445F2AE: g_malloc_n (gmem.c:330)
==5944== by 0x144981DC: g_variant_get_strv (gvariant.c:1572)
==5944== by 0x48FA45: settings_get_binding (cc-keyboard-item.c:369)
==5944== by 0x48FA9D: binding_changed (cc-keyboard-item.c:384)
==5944== by 0x141C3E2F: g_cclosure_marshal_VOID__STRINGv (gmarshal.c:1794)
==5944== by 0x141BFBE3: _g_closure_invoke_va (gclosure.c:864)
==5944== by 0x141DA3E7: g_signal_emit_valist (gsignal.c:3292)
==5944== by 0x141DB55F: g_signal_emit (gsignal.c:3439)
==5944== by 0x13EDC81D: g_settings_real_change_event (gsettings.c:386)
https://bugzilla.gnome.org/show_bug.cgi?id=756762
This fixes:
==5944== 2,304 bytes in 5 blocks are definitely lost in loss record 15,724 of 16,045
==5944== at 0x4C2AB9D: realloc (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
==5944== by 0x1445F0B8: g_realloc (gmem.c:159)
==5944== by 0x144217CF: g_array_maybe_expand (garray.c:779)
==5944== by 0x14420C9F: g_array_append_vals (garray.c:418)
==5944== by 0x48ACFA: append_sections_from_file (keyboard-shortcuts.c:558)
==5944== by 0x48B4EE: reload_sections (keyboard-shortcuts.c:737)
==5944== by 0x48EA22: keyboard_shortcuts_init (keyboard-shortcuts.c:2109)
==5944== by 0x489236: cc_keyboard_panel_constructor (cc-keyboard-panel.c:133)
==5944== by 0x141C7C3F: g_object_new_with_custom_constructor (gobject.c:1697)
==5944== by 0x141C7E71: g_object_new_internal (gobject.c:1777)
==5944== by 0x141C8ADA: g_object_new_valist (gobject.c:2038)
==5944== by 0x141C7A85: g_object_new (gobject.c:1622)
==5944== by 0x4547DF: cc_panel_loader_load_by_name (cc-panel-loader.c:213)
==5944== by 0x44DFCB: activate_panel (cc-window.c:157)
==5944== by 0x4504D6: cc_window_set_active_panel_from_id (cc-window.c:1036)
==5944== by 0x44E6A6: item_activated_cb (cc-window.c:280)
https://bugzilla.gnome.org/show_bug.cgi?id=756762
==5944== 90 (16 direct, 74 indirect) bytes in 1 blocks are definitely lost in loss record 11,855 of 16,045
==5944== at 0x4C28C50: malloc (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
==5944== by 0x1445EFCC: g_malloc (gmem.c:94)
==5944== by 0x1445F2AE: g_malloc_n (gmem.c:330)
==5944== by 0x144982EC: g_variant_dup_strv (gvariant.c:1621)
==5944== by 0x13EDF251: g_settings_get_strv (gsettings.c:2070)
==5944== by 0x48D56E: find_free_settings_path (keyboard-shortcuts.c:1651)
==5944== by 0x48D663: add_custom_shortcut (keyboard-shortcuts.c:1682)
==5944== by 0x48DB04: add_button_clicked (keyboard-shortcuts.c:1788)
https://bugzilla.gnome.org/show_bug.cgi?id=756762
It contains a strdup'ed string, but it's overwritten without being freed
first from cc_keyboard_item_load_from_gsettings_path() and
cc_keyboard_item_load_from_gsettings().
This fixes:
==5944== 976 bytes in 64 blocks are definitely lost in loss record 15,439 of 16,045
==5944== at 0x4C28C50: malloc (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
==5944== by 0x1445EFCC: g_malloc (gmem.c:94)
==5944== by 0x1445F2AE: g_malloc_n (gmem.c:330)
==5944== by 0x144981DC: g_variant_get_strv (gvariant.c:1572)
==5944== by 0x48FA45: settings_get_binding (cc-keyboard-item.c:369)
==5944== by 0x48FDDD: cc_keyboard_item_load_from_gsettings (cc-keyboard-item.c:438)
==5944== by 0x489EB7: append_section (keyboard-shortcuts.c:249)
==5944== by 0x48ADF6: append_sections_from_file (keyboard-shortcuts.c:578)
==5944== by 0x48B4EE: reload_sections (keyboard-shortcuts.c:737)
==5944== by 0x48EA22: keyboard_shortcuts_init (keyboard-shortcuts.c:2109)
==5944== by 0x489236: cc_keyboard_panel_constructor (cc-keyboard-panel.c:133)
==5944== by 0x141C7C3F: g_object_new_with_custom_constructor (gobject.c:1697)
==5944== by 0x141C7E71: g_object_new_internal (gobject.c:1777)
==5944== by 0x141C8ADA: g_object_new_valist (gobject.c:2038)
==5944== by 0x141C7A85: g_object_new (gobject.c:1622)
==5944== by 0x4547DF: cc_panel_loader_load_by_name (cc-panel-loader.c:213)
==5944== by 0x44DFCB: activate_panel (cc-window.c:157)
==5944== by 0x4504D6: cc_window_set_active_panel_from_id (cc-window.c:1036)
https://bugzilla.gnome.org/show_bug.cgi?id=756762
==11430== 48 (24 direct, 24 indirect) bytes in 1 blocks are definitely lost in loss record 10,663 of 18,7
==11430== at 0x4A06C50: malloc (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
==11430== by 0x7F260AC: g_malloc (gmem.c:97)
==11430== by 0x7F3F0F7: g_slice_alloc (gslice.c:1007)
==11430== by 0x7F19BE5: g_list_prepend (glist.c:311)
==11430== by 0x684843B: accum_cells (gtkcellarea.c:1563)
==11430== by 0x6850989: gtk_cell_area_box_foreach (gtkcellareabox.c:1145)
==11430== by 0x6848AAA: gtk_cell_area_foreach (gtkcellarea.c:1730)
==11430== by 0x6848490: gtk_cell_area_get_cells (gtkcellarea.c:1573)
==11430== by 0x6857339: gtk_cell_layout_get_cells (gtkcelllayout.c:592)
==11430== by 0x685668F: gtk_cell_layout_default_get_cells (gtkcelllayout.c:342)
==11430== by 0x6857339: gtk_cell_layout_get_cells (gtkcelllayout.c:592)
==11430== by 0x45242B: cc_shell_item_view_update_cells (cc-shell-item-view.c:116)
==11430== by 0x451DDD: cc_shell_category_view_constructed (cc-shell-category-view.c:141)
==11430== by 0x7C8DC10: g_object_new_internal (gobject.c:1814)
==11430== by 0x7C8E71A: g_object_new_valist (gobject.c:2033)
==11430== by 0x7C8D6C5: g_object_new (gobject.c:1617)
==11430== by 0x4520AB: cc_shell_category_view_new (cc-shell-category-view.c:213)
==11430== by 0x44F5D2: add_category_view (cc-window.c:852)
==11430== by 0x44F78B: setup_model (cc-window.c:880)
==11430== by 0x450EBC: create_main_page (cc-window.c:1460)
==11430== by 0x4514F1: create_window (cc-window.c:1553)
==11430== by 0x45170A: cc_window_init (cc-window.c:1587)
==11430== by 0x7CA6E7D: g_type_create_instance (gtype.c:1870)
==11430== by 0x7C8DAC5: g_object_new_internal (gobject.c:1774)
==11430== by 0x7C8E71A: g_object_new_valist (gobject.c:2033)
==11430== by 0x7C8D6C5: g_object_new (gobject.c:1617)
==11430== by 0x451847: cc_window_new (cc-window.c:1602)
==11430== by 0x44D409: cc_application_startup (cc-application.c:262)
==11430== by 0x7C8827D: g_cclosure_marshal_VOID__VOIDv (gmarshal.c:905)
==11430== by 0x7C8590F: g_type_class_meta_marshalv (gclosure.c:1021)
==11430== by 0x7C854D1: _g_closure_invoke_va (gclosure.c:864)
==11430== by 0x7CA0771: g_signal_emit_valist (gsignal.c:3246)
==11430== by 0x7CA18E9: g_signal_emit (gsignal.c:3393)
==11430== by 0x7982671: g_application_register (gapplication.c:2015)
==11430== by 0x79808D2: g_application_real_local_command_line (gapplication.c:983)
==11430== by 0x68143D6: gtk_application_local_command_line (gtkapplication.c:638)
==11430== by 0x7982D4D: g_application_run (gapplication.c:2280)
==11430== by 0x44C96B: main (main.c:57)
https://bugzilla.gnome.org/show_bug.cgi?id=756762
This fixes this leak:
==21491== 384 (40 direct, 344 indirect) bytes in 1 blocks are definitely lost in loss record 18,518 of 19,643
==21491== at 0x8792D3A: g_type_create_instance (gtype.c:1848)
==21491== by 0x8779AC5: g_object_new_internal (gobject.c:1774)
==21491== by 0x8779FD4: g_object_newv (gobject.c:1921)
==21491== by 0x8779676: g_object_new (gobject.c:1614)
==21491== by 0x747DFFC: gtk_list_store_new (gtkliststore.c:424)
==21491== by 0x49C781: goa_panel_add_account_dialog_init (cc-online-accounts-add-account-dialog.c:300)
==21491== by 0x8792E7D: g_type_create_instance (gtype.c:1870)
==21491== by 0x8779AC5: g_object_new_internal (gobject.c:1774)
==21491== by 0x877A71A: g_object_new_valist (gobject.c:2033)
==21491== by 0x87796C5: g_object_new (gobject.c:1617)
==21491== by 0x49CC26: goa_panel_add_account_dialog_new (cc-online-accounts-add-account-dialog.c:380)
==21491== by 0x49B162: get_all_providers_cb (cc-online-accounts-panel.c:701)
==21491== by 0x8426107: g_simple_async_result_complete (gsimpleasyncresult.c:801)
==21491== by 0x8426153: complete_in_idle_cb (gsimpleasyncresult.c:813)
==21491== by 0x8A0C470: g_idle_dispatch (gmain.c:5397)
==21491== by 0x8A09AB8: g_main_dispatch (gmain.c:3122)
==21491== by 0x8A0A8FC: g_main_context_dispatch (gmain.c:3737)
==21491== by 0x8A0AAE0: g_main_context_iterate (gmain.c:3808)
==21491== by 0x8A0ABA4: g_main_context_iteration (gmain.c:3869)
==21491== by 0x846EE55: g_application_run (gapplication.c:2311)
==21491== by 0x44CA4B: main (main.c:57)
https://bugzilla.gnome.org/show_bug.cgi?id=756762
This avoids these warnings:
configure.ac:32: warning: AC_PROG_CC was called before AX_CHECK_ENABLE_DEBUG
aclocal.m4:316: AX_CHECK_ENABLE_DEBUG is expanded from...
aclocal.m4:390: GNOME_DEBUG_CHECK is expanded from...
https://bugzilla.gnome.org/show_bug.cgi?id=756762