From 56c5b0af36f7f0bcd73732cf26833a24cf4017ba Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Ji=C5=99=C3=AD=20Klime=C5=A1?= <jklimes@redhat.com>
Date: Fri, 9 Oct 2015 20:31:29 +0200
Subject: [PATCH 1/2] macros: allow NULL pointer in nm_clear_g_signal_handler()
It does not make sense to issue an error. This should be a helper function.
"NetworkManager[18341]: nm_clear_g_signal_handler: assertion 'G_IS_OBJECT (self)' failed"
error started since commit e6d7fee5a617632acae02e12b1ec6156842df788 due to that.
(cherry picked from commit c33416178f88353b2f424a18c576de09b6ae3215)
(cherry picked from commit 23313d711ff7a328e96d1bc2da084bcb6266b3f0)
---
include/nm-macros-internal.h | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/include/nm-macros-internal.h b/include/nm-macros-internal.h
index c4a60fa..4d9979f 100644
--- a/include/nm-macros-internal.h
+++ b/include/nm-macros-internal.h
@@ -260,7 +260,8 @@ nm_clear_g_source (guint *id)
static inline gboolean
nm_clear_g_signal_handler (gpointer self, guint *id)
{
- g_return_val_if_fail (G_IS_OBJECT (self), FALSE);
+ if (!self)
+ return FALSE;
if (id && *id) {
g_signal_handler_disconnect (self, *id);
--
2.4.3
From 92bf4b9f07eb16fdb4eb550dcfb26dae1b167416 Mon Sep 17 00:00:00 2001
From: Thomas Haller <thaller@redhat.com>
Date: Mon, 12 Oct 2015 11:05:04 +0200
Subject: [PATCH 2/2] macros: remove early return from
nm_clear_g_signal_handler()
It is valid to call nm_clear_g_signal_handler() with missing
@self argument if (and only if) the @id is unspecified as well.
Remove the check for @self to get an assertion in case @id
is missing *and* @self is invalid. In this case,
g_signal_handler_disconnect() will raise a g_critical() for us.
Fixes: c33416178f88353b2f424a18c576de09b6ae3215
(cherry picked from commit 76958f94d4f7a8536dc6fa8676bd8de31bc661c1)
(cherry picked from commit 6f06ec0aba97c5dd89ffbe0f3592f3979d86d223)
---
include/nm-macros-internal.h | 3 ---
1 file changed, 3 deletions(-)
diff --git a/include/nm-macros-internal.h b/include/nm-macros-internal.h
index 4d9979f..3c5adcc 100644
--- a/include/nm-macros-internal.h
+++ b/include/nm-macros-internal.h
@@ -260,9 +260,6 @@ nm_clear_g_source (guint *id)
static inline gboolean
nm_clear_g_signal_handler (gpointer self, guint *id)
{
- if (!self)
- return FALSE;
-
if (id && *id) {
g_signal_handler_disconnect (self, *id);
*id = 0;
--
2.4.3