mirror of
https://gitlab.gnome.org/GNOME/glib.git
synced 2025-02-03 17:56:17 +01:00
Merge branch 'wip/hadess/gnetworkmonitor-nm-fixups' into 'master'
gnetworkmonitornm fixups See merge request GNOME/glib!1016
This commit is contained in:
commit
84738f7e80
@ -68,7 +68,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
G_DEFINE_INTERFACE_WITH_CODE (GNetworkMonitor, g_network_monitor, G_TYPE_OBJECT,
|
G_DEFINE_INTERFACE_WITH_CODE (GNetworkMonitor, g_network_monitor, G_TYPE_OBJECT,
|
||||||
g_type_interface_add_prerequisite (g_define_type_id, G_TYPE_INITABLE);)
|
g_type_interface_add_prerequisite (g_define_type_id, G_TYPE_INITABLE))
|
||||||
|
|
||||||
|
|
||||||
enum {
|
enum {
|
||||||
|
@ -68,6 +68,7 @@ typedef enum {
|
|||||||
struct _GNetworkMonitorNMPrivate
|
struct _GNetworkMonitorNMPrivate
|
||||||
{
|
{
|
||||||
GDBusProxy *proxy;
|
GDBusProxy *proxy;
|
||||||
|
guint signal_id;
|
||||||
|
|
||||||
GNetworkConnectivity connectivity;
|
GNetworkConnectivity connectivity;
|
||||||
gboolean network_available;
|
gboolean network_available;
|
||||||
@ -267,8 +268,8 @@ update_cached_property (GDBusProxy *proxy,
|
|||||||
|
|
||||||
static void
|
static void
|
||||||
proxy_signal_cb (GDBusProxy *proxy,
|
proxy_signal_cb (GDBusProxy *proxy,
|
||||||
gchar *sender_name,
|
const gchar *sender_name,
|
||||||
gchar *signal_name,
|
const gchar *signal_name,
|
||||||
GVariant *parameters,
|
GVariant *parameters,
|
||||||
GNetworkMonitorNM *nm)
|
GNetworkMonitorNM *nm)
|
||||||
{
|
{
|
||||||
@ -360,8 +361,8 @@ g_network_monitor_nm_initable_init (GInitable *initable,
|
|||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
g_signal_connect (G_OBJECT (proxy), "g-signal",
|
nm->priv->signal_id = g_signal_connect (G_OBJECT (proxy), "g-signal",
|
||||||
G_CALLBACK (proxy_signal_cb), nm);
|
G_CALLBACK (proxy_signal_cb), nm);
|
||||||
nm->priv->proxy = proxy;
|
nm->priv->proxy = proxy;
|
||||||
sync_properties (nm, FALSE);
|
sync_properties (nm, FALSE);
|
||||||
|
|
||||||
@ -373,6 +374,13 @@ g_network_monitor_nm_finalize (GObject *object)
|
|||||||
{
|
{
|
||||||
GNetworkMonitorNM *nm = G_NETWORK_MONITOR_NM (object);
|
GNetworkMonitorNM *nm = G_NETWORK_MONITOR_NM (object);
|
||||||
|
|
||||||
|
if (nm->priv->proxy != NULL &&
|
||||||
|
nm->priv->signal_id != 0)
|
||||||
|
{
|
||||||
|
g_signal_handler_disconnect (nm->priv->proxy,
|
||||||
|
nm->priv->signal_id);
|
||||||
|
nm->priv->signal_id = 0;
|
||||||
|
}
|
||||||
g_clear_object (&nm->priv->proxy);
|
g_clear_object (&nm->priv->proxy);
|
||||||
|
|
||||||
G_OBJECT_CLASS (g_network_monitor_nm_parent_class)->finalize (object);
|
G_OBJECT_CLASS (g_network_monitor_nm_parent_class)->finalize (object);
|
||||||
@ -383,7 +391,7 @@ g_network_monitor_nm_class_init (GNetworkMonitorNMClass *nl_class)
|
|||||||
{
|
{
|
||||||
GObjectClass *gobject_class = G_OBJECT_CLASS (nl_class);
|
GObjectClass *gobject_class = G_OBJECT_CLASS (nl_class);
|
||||||
|
|
||||||
gobject_class->finalize = g_network_monitor_nm_finalize;
|
gobject_class->finalize = g_network_monitor_nm_finalize;
|
||||||
gobject_class->get_property = g_network_monitor_nm_get_property;
|
gobject_class->get_property = g_network_monitor_nm_get_property;
|
||||||
|
|
||||||
g_object_class_override_property (gobject_class, PROP_NETWORK_AVAILABLE, "network-available");
|
g_object_class_override_property (gobject_class, PROP_NETWORK_AVAILABLE, "network-available");
|
||||||
|
@ -33,7 +33,7 @@ typedef struct {
|
|||||||
GType foo_get_type (void);
|
GType foo_get_type (void);
|
||||||
|
|
||||||
G_DEFINE_INTERFACE_WITH_CODE (Foo, foo, G_TYPE_OBJECT,
|
G_DEFINE_INTERFACE_WITH_CODE (Foo, foo, G_TYPE_OBJECT,
|
||||||
g_type_interface_add_prerequisite (g_define_type_id, bar_get_type ());)
|
g_type_interface_add_prerequisite (g_define_type_id, bar_get_type ()))
|
||||||
|
|
||||||
static void
|
static void
|
||||||
foo_default_init (FooInterface *iface)
|
foo_default_init (FooInterface *iface)
|
||||||
|
Loading…
Reference in New Issue
Block a user