void wxGISApplicationEx::OnClose(wxCloseEvent& event)
{
    event.Skip();

 	for(size_t i = 0; i < m_CommandBarArray.GetCount(); ++i)
	{
		if(m_CommandBarArray[i]->GetType() == enumGISCBToolbar)
		{
			wxGISToolBar* pToolBar = static_cast<wxGISToolBar*>(m_CommandBarArray[i]);
			if(pToolBar)
				pToolBar->Deactivate();
		}
	}

    for(size_t i = 0; i < m_anWindowsIDs.GetCount(); ++i)
    {
        wxWindow* pWnd = wxWindow::FindWindowById(m_anWindowsIDs[i]);
        IView* pView = dynamic_cast<IView*>(pWnd);
        if(pView)
            pView->Deactivate();
    }

	wxGISApplication::OnClose(event);

 	SerializeFramePosEx(true);
    m_mgr.UnInit();
}