X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/0367c1c0e82c6da38cea16c4bcef6583271789cc..ef70f0ecdbc4268923e132b257c95e8a2525f4ca:/src/os2/frame.cpp diff --git a/src/os2/frame.cpp b/src/os2/frame.cpp index a3b3f82dd0..f21c945ae6 100644 --- a/src/os2/frame.cpp +++ b/src/os2/frame.cpp @@ -617,6 +617,43 @@ void wxFrameOS2::SetMenuBar( } } // end of wxFrameOS2::SetMenuBar +void wxFrameOS2::AttachMenuBar( + wxMenuBar* pMenubar +) +{ + m_frameMenuBar = pMenubar; + + if (!pMenubar) + { + // + // Actually remove the menu from the frame + // + m_hMenu = (WXHMENU)0; + InternalSetMenuBar(); + } + else // Set new non NULL menu bar + { + // + // Can set a menubar several times. + // + if (pMenubar->GetHMenu()) + { + m_hMenu = pMenubar->GetHMenu(); + } + else + { + if (pMenubar->IsAttached()) + pMenubar->Detach(); + + m_hMenu = pMenubar->Create(); + + if (!m_hMenu) + return; + } + InternalSetMenuBar(); + } +} // end of wxFrameOS2::AttachMenuBar + void wxFrameOS2::InternalSetMenuBar() { ERRORID vError;