diff options
author | root <root@rshg047.dnsready.net> | 2011-06-02 22:47:10 +0000 |
---|---|---|
committer | root <root@rshg047.dnsready.net> | 2011-06-02 22:47:10 +0000 |
commit | 2d8c4c44185a682290ccde4d23132ae3acf01678 (patch) | |
tree | c23dfddada868c72eb548f8159b7fd0b1179e02c /testing/pidgin/nm09-more.patch | |
parent | e7b9c9697e6a50c3b9e78941fa95ba11c716d238 (diff) |
Thu Jun 2 22:47:10 UTC 2011
Diffstat (limited to 'testing/pidgin/nm09-more.patch')
-rw-r--r-- | testing/pidgin/nm09-more.patch | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/testing/pidgin/nm09-more.patch b/testing/pidgin/nm09-more.patch new file mode 100644 index 000000000..8c708df9a --- /dev/null +++ b/testing/pidgin/nm09-more.patch @@ -0,0 +1,49 @@ +diff -up pidgin-2.7.11/libpurple/network.c.nm09more pidgin-2.7.11/libpurple/network.c +--- pidgin-2.7.11/libpurple/network.c.nm09more 2011-04-26 12:01:27.700085246 -0500 ++++ pidgin-2.7.11/libpurple/network.c 2011-05-24 13:13:28.185165657 -0500 +@@ -833,8 +833,20 @@ purple_network_is_available(void) + purple_debug_warning("network", "NetworkManager not active. Assuming connection exists.\n"); + } + +- if (nm_state == NM_STATE_UNKNOWN || nm_state == NM_STATE_CONNECTED) +- return TRUE; ++ switch (nm_state) ++ { ++ case NM_STATE_UNKNOWN: ++#if NM_CHECK_VERSION(0,8,992) ++ case NM_STATE_CONNECTED_LOCAL: ++ case NM_STATE_CONNECTED_SITE: ++ case NM_STATE_CONNECTED_GLOBAL: ++#else ++ case NM_STATE_CONNECTED: ++#endif ++ return TRUE; ++ default: ++ break; ++ } + + return FALSE; + +@@ -1170,9 +1182,14 @@ purple_network_init(void) + NM_DBUS_SERVICE, + NM_DBUS_PATH, + NM_DBUS_INTERFACE); ++ /* NM 0.6 signal */ + dbus_g_proxy_add_signal(nm_proxy, "StateChange", G_TYPE_UINT, G_TYPE_INVALID); + dbus_g_proxy_connect_signal(nm_proxy, "StateChange", + G_CALLBACK(nm_state_change_cb), NULL, NULL); ++ /* NM 0.7 and later signal */ ++ dbus_g_proxy_add_signal(nm_proxy, "StateChanged", G_TYPE_UINT, G_TYPE_INVALID); ++ dbus_g_proxy_connect_signal(nm_proxy, "StateChanged", ++ G_CALLBACK(nm_state_change_cb), NULL, NULL); + + dbus_proxy = dbus_g_proxy_new_for_name(nm_conn, + DBUS_SERVICE_DBUS, +@@ -1207,6 +1224,7 @@ purple_network_uninit(void) + #ifdef HAVE_NETWORKMANAGER + if (nm_proxy) { + dbus_g_proxy_disconnect_signal(nm_proxy, "StateChange", G_CALLBACK(nm_state_change_cb), NULL); ++ dbus_g_proxy_disconnect_signal(nm_proxy, "StateChanged", G_CALLBACK(nm_state_change_cb), NULL); + g_object_unref(G_OBJECT(nm_proxy)); + } + if (dbus_proxy) { |