wxX11 crashes

Vadim Zeitlin vadim at wxwidgets.org
Sun Jul 1 15:52:37 PDT 2007


On Thu, 28 Jun 2007 16:50:57 -0600 Gordon.Schumacher at seagate.com wrote:

> Ultimately what is happening is that inside one of the controls, it is
> using a wxLayoutAlgorithm and calling LayoutWindow(this).  The main window
> is not yet visible on the screen, though GetClientSize() returns [20, 20].

 This is the initial size AFAIR.

> 460 for ( wxWindowList::iterator i = children.begin(); i != children.end();
> ++i )
> 461 {
> 462    wxWindow *child = *i;
> 463    // only refresh subcontrols if they are visible:
> 464    if ( child->IsTopLevel() || !child->IsShown() || child->IsFrozen() )
> 
> Line 464 blows up because "child" is NULL.
> 
> What in the world could cause this - and only in wxX11?  Any ideas?

 None because wxWindow::m_children list is not supposed to contain NULL
pointers at all. If you're in debug build you should have got an assert
from AddChild() if you attempted to add NULL to this list. So it looks like
something is corrupting your pointers... As always, running under valgrind
is never a bad idea in such case.

 Good luck,
VZ
-- 
TT-Solutions: wxWidgets consultancy and technical support
               http://www.tt-solutions.com/






More information about the wx-users mailing list