elementary / switchboard-plug-sharing

Switchboard Sharing Plug
GNU General Public License v3.0
10 stars 10 forks source link

crashes because of missing gsettings key "org.gnome.desktop.file-sharing/bluetooth-obexpush-enabled" #10

Closed elementaryBot closed 5 years ago

elementaryBot commented 7 years ago

Opening the "Sharing" plug in switchboard crashes switchboard with the following error:

[ERROR 11:55:05.456465] [GLib-GIO] Settings schema 'org.gnome.desktop.file-sharing' does not contain a key named 'bluetooth-obexpush-enabled' Trace/breakpoint trap (core dumped)

The key this error complains about has been removed from gnome-user-share at commit https://git.gnome.org/browse/gnome-user-share/commit/?id=2acc42792bf879d2a5507253c8bec7f59031558b in July 2015, so it was removed between the 3.14.2 (Dec. 2014) and 3.17.90 (August 2015) releases of gnome-user-share.

This crash prevents the "Sharing" plug from working on any currently supported version of fedora, and I guess this will also affect juno (assuming (hoping?) ubuntu 18.04 LTS won't ship software that will then be out-of-date for almost 3 years).

Launchpad Details: #LP1662481 Fabio Valentini - 2017-02-07 11:07:31 +0000

quequotion commented 7 years ago

A quick and dirty way to get the plug working -- ditch bluetooth sharing for now.

--- src/Widgets/BluetoothPage.vala~ 2017-05-16 08:48:54.210178706 +0900
+++ src/Widgets/BluetoothPage.vala  2017-05-16 08:57:40.050173161 +0900
@@ -33,9 +33,6 @@
         bluetooth_settings = new GLib.Settings ("org.pantheon.desktop.wingpanel.indicators.bluetooth");
         sharing_settings = new GLib.Settings ("org.gnome.desktop.file-sharing");

-        sharing_settings.bind ("bluetooth-obexpush-enabled", service_switch, "active", SettingsBindFlags.NO_SENSITIVITY);
-        sharing_settings.bind ("bluetooth-accept-files", accept_combo, "active-id", SettingsBindFlags.DEFAULT);
-        sharing_settings.bind ("bluetooth-notify", notify_switch, "active", SettingsBindFlags.DEFAULT);

         service_switch.notify ["active"].connect (() => {
             set_service_state ();
@@ -81,7 +81,7 @@

     private void set_service_state () {
         if (bluetooth_settings.get_boolean ("bluetooth-enabled")) {
-            update_state (sharing_settings.get_boolean ("bluetooth-obexpush-enabled") ? ServiceState.ENABLED : ServiceState.DISABLED);
+            update_state (ServiceState.NOT_AVAILABLE);
         } else {
             update_state (ServiceState.NOT_AVAILABLE);
         }
leonardo-lemos commented 6 years ago

I can confirm this issue in Juno daily build.

davidmhewitt commented 5 years ago

Fixed in #24