summaryrefslogtreecommitdiff
path: root/tools/m4/class_gobject.m4
diff options
context:
space:
mode:
authorMurray Cumming <murrayc@murrayc.com>2004-04-29 22:43:44 +0000
committerMurray Cumming <murrayc@src.gnome.org>2004-04-29 22:43:44 +0000
commite6f3de38f78a637eb1f247f7d60fa381ecd8cf2b (patch)
treefc6d8181cf4a63b2e9ec6fb92e95a81944e814ae /tools/m4/class_gobject.m4
parent8d64a74066165a41ecf9bcab5233854a8ef57009 (diff)
downloadglibmm-e6f3de38f78a637eb1f247f7d60fa381ecd8cf2b.tar.gz
Allow use of _CUSTOM_DTOR(), needed by Gnome::Gda::Connection.
2004-04-30 Murray Cumming <murrayc@murrayc.com> * tools/m4/gobject.m4: Allow use of _CUSTOM_DTOR(), needed by Gnome::Gda::Connection.
Diffstat (limited to 'tools/m4/class_gobject.m4')
-rw-r--r--tools/m4/class_gobject.m412
1 files changed, 12 insertions, 0 deletions
diff --git a/tools/m4/class_gobject.m4 b/tools/m4/class_gobject.m4
index 5f0c56e5..8b7f203e 100644
--- a/tools/m4/class_gobject.m4
+++ b/tools/m4/class_gobject.m4
@@ -24,6 +24,13 @@ _POP()
_SECTION(SECTION_CLASS2)
') dnl end of _CLASS_GOBJECT
+dnl Widget and Object, and some others, have custom-written destructor implementations:
+define(`_CUSTOM_DTOR',`dnl
+_PUSH()
+dnl Define this macro to be tested for later.
+define(`__BOOL_CUSTOM_DTOR__',`$1')
+_POP()
+')
dnl Gdk::Pixmap_Class::wrap_new() needs a custom implementation, in order
dnl to create a Gdk::Bitmap object if appropriate. See comments there.
@@ -158,9 +165,14 @@ __CPPNAME__::__CPPNAME__`'(__CNAME__* castitem)
__CPPPARENT__`'(__PCAST__`'(castitem))
{}
+ifdef(`__BOOL_CUSTOM_DTOR__',`dnl
+',`dnl
__CPPNAME__::~__CPPNAME__`'()
{}
+')dnl
+
+
_CC_CLASS_IMPLEMENTATION()
__NAMESPACE_END__