Re: [Windows] Trash in sigc::trackable::callback_list_ when class is derived from Glib::Object
- From: John Emmas <john creativepost co uk>
- To: gtkmm-list <gtkmm-list gnome org>
- Subject: Re: [Windows] Trash in sigc::trackable::callback_list_ when class is derived from Glib::Object
- Date: Wed, 03 Sep 2014 12:29:29 +0100
On 03/09/2014 10:17, Marcin Kolny wrote:
Hi,
Recently I've used glibmm on Windows, and I've met very strange
problem. Assume simple class:
class Test : public Glib::Object
{
public:
Test()
{
}
};
When I instantiate this class, I see in debugger, that callback_list_
of this object is not null (exactly, 0xfffffffc), but should be null.
It disallows me to use e.g. sigc::mem_fun.
I saw in trackable constructor, that this field is set to zero, but
when I used debugger, and step by step through code, I noticed, that
callback_list_ changes at the beginning of Glib::Object constructor.
Hi Marcin. I don't have any explanation but I can confirm that the same
thing happens if I build your test sample with MSVC 8. In fact AFAICT
it happens with any glibmm object that's derived from ObjectBase. For
example, Glib::Interface and Gio::Icon both exhibit the same behaviour.
However, if I derive my own classes from Glib::ObjectBase, they show
'callback_list_' as being zero (immediately after construction).
Unfortunately I'm not familiar enough with glibmm to know if what we're
seeing is indicative of a problem (e.g. should you have called some
initialization function before using GObject??) Maybe sigc++ needs some
initialization - or even glibmm itself?
John
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]