}
}
+ // VS: destroy children first and _then_ detach *this from its parent.
+ // If we'd do it the other way around, children wouldn't be able
+ // find their parent frame (see above).
+ DestroyChildren();
+
if ( m_parent )
m_parent->RemoveChild(this);
- DestroyChildren();
-
if ( m_hWnd )
{
// VZ: test temp removed to understand what really happens here
wxPoint pt(GET_X_LPARAM(lParam), GET_Y_LPARAM(lParam));
wxContextMenuEvent evtCtx(wxEVT_CONTEXT_MENU, GetId(), pt);
- GetEventHandler()->ProcessEvent(evtCtx);
-
- // set processed to true even if the event is not handled
- // because if we don't windows will propogate the
- // WM_CONTEXTMENU up the parent window chain, which we have
- // already done ourselves.
- processed = true;
+ processed = GetEventHandler()->ProcessEvent(evtCtx);
}
break;
#endif // __WIN32__