X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/ce7fe42e848cc0c9058dae906c3a7bded50681e6..2e6bfeb9035233b2889af03f7846d2c77125efb7:/src/common/wincmn.cpp?ds=sidebyside diff --git a/src/common/wincmn.cpp b/src/common/wincmn.cpp index c3b4e315ce..787d08b13f 100644 --- a/src/common/wincmn.cpp +++ b/src/common/wincmn.cpp @@ -2035,6 +2035,11 @@ public: return true; } + // Give it a virtual dtor just to suppress gcc warnings about a class with + // virtual methods but non-virtual dtor -- even if this is completely safe + // here as we never use the objects of this class polymorphically. + virtual ~ValidationTraverserBase() { } + protected: // Called for each child, validator is guaranteed to be non-NULL. virtual bool OnDo(wxValidator* validator) = 0; @@ -2605,6 +2610,8 @@ void wxWindowBase::SetConstraintSizes(bool recurse) wxLayoutConstraints *constr = GetConstraints(); if ( constr && constr->AreSatisfied() ) { + ChildrenRepositioningGuard repositionGuard(this); + int x = constr->left.GetValue(); int y = constr->top.GetValue(); int w = constr->width.GetValue(); @@ -3363,7 +3370,7 @@ bool wxWindowBase::TryAfter(wxEvent& event) wxWindow *parent = GetParent(); if ( parent && !parent->IsBeingDeleted() ) { - wxPropagateOnce propagateOnce(event); + wxPropagateOnce propagateOnce(event, this); return parent->GetEventHandler()->ProcessEvent(event); }