// reduce flicker
p.window->SetSize(1,1);
- p.frame->Show(false);
+
+ if (p.frame->IsShown())
+ p.frame->Show(false);
// reparent to m_frame and destroy the pane
p.window->Reparent(m_frame);
// reduce flicker
p.window->SetSize(1,1);
- p.frame->Show(false);
+
+ if (p.frame->IsShown())
+ p.frame->Show(false);
// reparent to m_frame and destroy the pane
p.window->Reparent(m_frame);
frame->SetPaneWindow(p);
p.frame = frame;
- if (p.IsShown())
- {
+ if (p.IsShown() && !frame->IsShown())
frame->Show();
- }
}
else
{
}
else
{
- p.window->Show(p.IsShown());
+ if (p.window->IsShown() != p.IsShown())
+ p.window->Show(p.IsShown());
}
// if "active panes" are no longer allowed, clear
// hides a transparent window hint, if there is one
if (m_hint_wnd)
{
- m_hint_wnd->Show(false);
+ if (m_hint_wnd->IsShown())
+ m_hint_wnd->Show(false);
#if wxCHECK_VERSION(2,7,0)
m_hint_wnd->SetTransparent(0);
#else
{
// reparent the pane window back to us and
// prepare the frame window for destruction
- pane.window->Show(false);
+ if (pane.window->IsShown())
+ pane.window->Show(false);
pane.window->Reparent(m_frame);
pane.frame = NULL;
pane.Hide();