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]