X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/74b31181b345aaaef0c967cc5707bef72ce0a405..12db77cab1054d288a2b3e2d07e58ad1d6386a53:/src/msw/frame.cpp diff --git a/src/msw/frame.cpp b/src/msw/frame.cpp index 252fc36d9a..aded67d34f 100644 --- a/src/msw/frame.cpp +++ b/src/msw/frame.cpp @@ -154,6 +154,9 @@ wxFrame::~wxFrame() // For some reason, wxWindows can activate another task altogether // when a frame is destroyed after a modal dialog has been invoked. // Try to bring the parent to the top. + // MT:Only do this if this frame is currently the active window, else weird + // things start to happen + if ( wxGetActiveWindow() == this ) if (GetParent() && GetParent()->GetHWND()) ::BringWindowToTop((HWND) GetParent()->GetHWND()); } @@ -360,7 +363,7 @@ wxStatusBar* wxFrame::CreateStatusBar(int number, long style, wxWindowID id, { // VZ: calling CreateStatusBar twice is an error - why anyone would do it? wxCHECK_MSG( m_frameStatusBar == NULL, FALSE, - _T("recreating status bar in wxFrame") ); + wxT("recreating status bar in wxFrame") ); m_frameStatusBar = OnCreateStatusBar(number, style, id, name); @@ -375,14 +378,14 @@ wxStatusBar* wxFrame::CreateStatusBar(int number, long style, wxWindowID id, void wxFrame::SetStatusText(const wxString& text, int number) { - wxCHECK_RET( m_frameStatusBar != NULL, _T("no statusbar to set text for") ); + wxCHECK_RET( m_frameStatusBar != NULL, wxT("no statusbar to set text for") ); m_frameStatusBar->SetStatusText(text, number); } void wxFrame::SetStatusWidths(int n, const int widths_field[]) { - wxCHECK_RET( m_frameStatusBar != NULL, _T("no statusbar to set widths for") ); + wxCHECK_RET( m_frameStatusBar != NULL, wxT("no statusbar to set widths for") ); m_frameStatusBar->SetStatusWidths(n, widths_field); PositionStatusBar(); @@ -426,7 +429,7 @@ void wxFrame::SetMenuBar(wxMenuBar *menu_bar) return; } - wxCHECK_RET( !menu_bar->GetFrame(), _T("this menubar is already attached") ); + wxCHECK_RET( !menu_bar->GetFrame(), wxT("this menubar is already attached") ); if (m_frameMenuBar) delete m_frameMenuBar; @@ -668,10 +671,8 @@ bool wxFrame::ProcessCommand(int id) return FALSE; wxMenuItem *item = bar->FindItemForId(id); - if ( !item ) - return FALSE; - if ( item->IsCheckable() ) + if ( item && item->IsCheckable() ) { bar->Check(id, !bar->IsChecked(id)) ; } @@ -704,9 +705,9 @@ wxPoint wxFrame::GetClientAreaOrigin() const return pt; } -void wxFrame::ScreenToClient(int *x, int *y) const +void wxFrame::DoScreenToClient(int *x, int *y) const { - wxWindow::ScreenToClient(x, y); + wxWindow::DoScreenToClient(x, y); // We may be faking the client origin. // So a window that's really at (0, 30) may appear @@ -716,7 +717,7 @@ void wxFrame::ScreenToClient(int *x, int *y) const *y -= pt.y; } -void wxFrame::ClientToScreen(int *x, int *y) const +void wxFrame::DoClientToScreen(int *x, int *y) const { // We may be faking the client origin. // So a window that's really at (0, 30) may appear @@ -725,14 +726,14 @@ void wxFrame::ClientToScreen(int *x, int *y) const *x += pt1.x; *y += pt1.y; - wxWindow::ClientToScreen(x, y); + wxWindow::DoClientToScreen(x, y); } #if wxUSE_TOOLBAR wxToolBar* wxFrame::CreateToolBar(long style, wxWindowID id, const wxString& name) { wxCHECK_MSG( m_frameToolBar == NULL, FALSE, - _T("recreating toolbar in wxFrame") ); + wxT("recreating toolbar in wxFrame") ); wxToolBar* toolBar = OnCreateToolBar(style, id, name); if (toolBar) @@ -1060,3 +1061,4 @@ long wxFrame::MSWWindowProc(WXUINT message, WXWPARAM wParam, WXLPARAM lParam) return rc; } +