Merge lp:~khurshid-alam/unity-settings-daemon/fix-airplane-switch into lp:unity-settings-daemon

Proposed by Khurshid Alam
Status: Merged
Approved by: Sebastien Bacher
Approved revision: 4193
Merged at revision: 4193
Proposed branch: lp:~khurshid-alam/unity-settings-daemon/fix-airplane-switch
Merge into: lp:unity-settings-daemon
Diff against target: 64 lines (+47/-0)
2 files modified
gnome-settings-daemon/gnome-settings-bus.c (+46/-0)
gnome-settings-daemon/gnome-settings-bus.h (+1/-0)
To merge this branch: bzr merge lp:~khurshid-alam/unity-settings-daemon/fix-airplane-switch
Reviewer Review Type Date Requested Status
Sebastien Bacher Approve
Review via email: mp+368880@code.launchpad.net

Commit message

Fix airplane mode switch not appearing on network panel.

To post a comment you must log in.
Revision history for this message
Sebastien Bacher (seb128) wrote :

Indeed, from the build log 'warning: undefined reference to `gnome_settings_get_chassis_type' ... it's annoying that such problems don't fail the build :/

Thanks for the fix, it makes sense

review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'gnome-settings-daemon/gnome-settings-bus.c'
2--- gnome-settings-daemon/gnome-settings-bus.c 2016-05-20 17:01:02 +0000
3+++ gnome-settings-daemon/gnome-settings-bus.c 2019-06-16 12:37:03 +0000
4@@ -87,3 +87,49 @@
5
6 return screen_saver_proxy;
7 }
8+
9+char *
10+gnome_settings_get_chassis_type (void)
11+{
12+ char *ret = NULL;
13+ GError *error = NULL;
14+ GVariant *inner;
15+ GVariant *variant = NULL;
16+ GDBusConnection *connection;
17+
18+ connection = g_bus_get_sync (G_BUS_TYPE_SYSTEM,
19+ NULL,
20+ &error);
21+ if (connection == NULL) {
22+ g_warning ("system bus not available: %s", error->message);
23+ g_error_free (error);
24+ goto out;
25+ }
26+
27+ variant = g_dbus_connection_call_sync (connection,
28+ "org.freedesktop.hostname1",
29+ "/org/freedesktop/hostname1",
30+ "org.freedesktop.DBus.Properties",
31+ "Get",
32+ g_variant_new ("(ss)",
33+ "org.freedesktop.hostname1",
34+ "Chassis"),
35+ NULL,
36+ G_DBUS_CALL_FLAGS_NONE,
37+ -1,
38+ NULL,
39+ &error);
40+ if (variant == NULL) {
41+ g_debug ("Failed to get property '%s': %s", "Chassis", error->message);
42+ g_error_free (error);
43+ goto out;
44+ }
45+
46+ g_variant_get (variant, "(v)", &inner);
47+ ret = g_variant_dup_string (inner, NULL);
48+ g_variant_unref (inner);
49+out:
50+ g_clear_object (&connection);
51+ g_clear_pointer (&variant, g_variant_unref);
52+ return ret;
53+}
54
55=== modified file 'gnome-settings-daemon/gnome-settings-bus.h'
56--- gnome-settings-daemon/gnome-settings-bus.h 2016-05-20 17:01:02 +0000
57+++ gnome-settings-daemon/gnome-settings-bus.h 2019-06-16 12:37:03 +0000
58@@ -30,6 +30,7 @@
59
60 GsdSessionManager *gnome_settings_bus_get_session_proxy (void);
61 GsdScreenSaver *gnome_settings_bus_get_screen_saver_proxy (void);
62+char * gnome_settings_get_chassis_type (void);
63
64 G_END_DECLS
65

Subscribers

People subscribed via source and target branches