From 4f3ff68252b7fd4b00642afeaa23187c65b9124f Mon Sep 17 00:00:00 2001 From: Artur Skawina Date: Wed, 14 Mar 2012 00:19:55 +0100 Subject: [PATCH] Support pre-GTK3 GLibs too. --- gtk2/glib2.d | 10 +++++++++- gtk2/gobject2.d | 8 ++++++++ 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/gtk2/glib2.d b/gtk2/glib2.d index 697181c..edf4e9e 100644 --- a/gtk2/glib2.d +++ b/gtk2/glib2.d @@ -80,7 +80,15 @@ void _dumpObj(T)(T o, bool deep=0) { _println(); foreach (i, t; ts) { - _print(" (", typeid(t), ") ", t); + string fieldName = T.tupleof[i].stringof; + // Skip everything until the first '.'. + foreach (i, c; fieldName) + if (c=='.') { + fieldName = fieldName[i+1..$]; + break; + } + + _print(" (", typeid(t), " ", fieldName, ") ", t); if (deep) static if (is(typeof(*t))) if (ts[i]) diff --git a/gtk2/gobject2.d b/gtk2/gobject2.d index 8624518..19b99ed 100644 --- a/gtk2/gobject2.d +++ b/gtk2/gobject2.d @@ -13,6 +13,14 @@ alias gtk2.glib2 GLib2; // module GObject2; +// --- mixin/GObject2__MODULE_HEAD.d ---> + +// Newer GLib versions define 'Type', older ones do not. +static if (!is(Type)) + alias size_t Type; + +// <--- mixin/GObject2__MODULE_HEAD.d --- + // This is the signature of marshaller functions, required to marshall // arrays of parameter values to signal emissions into C language callback -- 2.11.4.GIT