I have floating wxPanel managed by wxAUI.
When I want to destroy a panel, I do this:
pFrameManager->DetachPane(pPanel);
pFrameManager->Update();
pPanel->Destroy();
which I think should work. However, if the panel is floating, there appears to be a problem, in that as far as I can tell the floating window containing the panel (the wxFloatingPane) never gets destroyed.
What seems to happen is DetachPane calls m_panes.RemoveAt() which removes it from the list of panes. This prevents the Update routine doing what happens when (say) Float() is turned off, and doing a reparent to the main frame and destroying the wxFloatingPane.
I think DetachPane() should be checking for m_panes.Item(i).p_frame and if it is non-null, doing the reparent and destroy (as per Update()) before it removes it from the m_panes array, because Update() will never get to do this afterwards.
What do you think? I can produce a patch if necessary
Alex
Kirix Support Forums
Problems with DetachPane on floating windows
2 posts
• Page 1 of 1
- abligh
- Registered User
- Posts: 59
- Joined: Sun Jan 01, 2006 2:31 pm
-
Ben - Kirix Support Team
- Posts: 525
- Joined: Mon Dec 19, 2005 6:29 am
2 posts
· Page 1 of 1
Return to wxAUI Questions, Thoughts & Feedback