Layer(0).Row(0).Position(0);
// Carry over the minimum size
+ wxSize pane_min_size = pane.window->GetMinSize();
+
+ // if the frame window's max size is greater than the min size
+ // then set the max size to the min size as well
+ wxSize cur_max_size = GetMaxSize();
+ if (cur_max_size.IsFullySpecified() &&
+ (cur_max_size.x < pane.min_size.x ||
+ cur_max_size.y < pane.min_size.y)
+ )
+ {
+ SetMaxSize(pane_min_size);
+ }
+
SetMinSize(pane.window->GetMinSize());
m_mgr.AddPane(m_pane_window, contained_pane);
void wxAuiFloatingFrame::OnClose(wxCloseEvent& evt)
{
m_owner_mgr->OnFloatingPaneClosed(m_pane_window, evt);
- if (!evt.GetVeto())
+ if (!evt.GetVeto()) {
+ m_mgr.DetachPane(m_pane_window);
Destroy();
+ }
}
void wxAuiFloatingFrame::OnMoveEvent(wxMoveEvent& event)