[gnome-builder/wip/libide] libide: add helper to clear a signal handler by id



commit 81c4bcd868b186e30b361507cfa0a38015744fe7
Author: Christian Hergert <christian hergert me>
Date:   Tue Feb 24 17:24:45 2015 -0800

    libide: add helper to clear a signal handler by id

 libide/ide-types.h |    8 ++++++++
 1 files changed, 8 insertions(+), 0 deletions(-)
---
diff --git a/libide/ide-types.h b/libide/ide-types.h
index b132b44..2dbd371 100644
--- a/libide/ide-types.h
+++ b/libide/ide-types.h
@@ -29,6 +29,14 @@ G_BEGIN_DECLS
 #define ide_set_weak_pointer(ptr,obj) \
   ((obj!=*(ptr)) ? (ide_clear_weak_pointer(ptr),*(ptr)=obj,g_object_add_weak_pointer((GObject*)obj, 
(gpointer*)ptr),1) : 0)
 
+#define ide_clear_signal_handler(obj,ptr) \
+  G_STMT_START { \
+    if (*(ptr) != 0) { \
+      g_signal_handler_disconnect((obj), *(ptr)); \
+      *(ptr) = 0; \
+    } \
+  } G_STMT_END
+
 typedef struct _IdeBackForwardItem             IdeBackForwardItem;
 
 typedef struct _IdeBackForwardList             IdeBackForwardList;


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]