$include_dir="/home/hyper-archives/boost/include"; include("$include_dir/msg-header.inc") ?>
From: David Turner (dkturner_at_[hidden])
Date: 2004-03-03 23:22:34
Hi
> > In fact, window is defined thus:
> >
> > typedef boost::shared_ptr<window_base> window;
> 
> I think this can easily lead to retain-cycles, as widgets will often 
> need a pointer to their window, which must be a weak pointer, 
> as there 
> are otherwise no ways to get the reference count of the 
> window down to 
> zero, without first having to remove all the widgets who keep a 
> reference to their window.
That is, of course, up to the implementer.  In fact, my Win32
implementation makes use of a boost::weak_ptr back to the container, to
accommodate the auto-sizing mechanism.  The GTK implementation has no
need of this.  It's all an implementation detail.  If you have a look at
the source code, you'll notice that widget_base declares a member
returning a pointer to an undefined implementation class.  I'm toying
with the idea of exposing this on a per-platform basis.
Regards
David Turner