]> git.saurik.com Git - wxWidgets.git/blobdiff - src/msw/frame.cpp
made GetColourFromGTKWidget() more general, it is now used for all colours
[wxWidgets.git] / src / msw / frame.cpp
index ee461db1be228615cb670c846405b1998a39c7ab..b1b4e12a8f33eed69283fb9621ac9176613a08c1 100644 (file)
@@ -64,7 +64,6 @@
 // ----------------------------------------------------------------------------
 
 extern wxWindowList wxModelessWindows;
 // ----------------------------------------------------------------------------
 
 extern wxWindowList wxModelessWindows;
-extern wxList WXDLLEXPORT wxPendingDelete;
 extern const wxChar *wxFrameClassName;
 
 #if wxUSE_MENUS_NATIVE
 extern const wxChar *wxFrameClassName;
 
 #if wxUSE_MENUS_NATIVE
@@ -158,7 +157,10 @@ bool wxFrameMSW::Create(wxWindow *parent,
 
   wxTopLevelWindows.Append(this);
 
 
   wxTopLevelWindows.Append(this);
 
-  MSWCreate(m_windowId, parent, wxFrameClassName, this, title,
+  // the frame must have NULL parent HWND or it would be always on top of its
+  // parent which is not what we usually want (in fact, we only want it for
+  // frames with the special wxFRAME_TOOL_WINDOW style handled elsewhere)
+  MSWCreate(m_windowId, NULL, wxFrameClassName, this, title,
             x, y, width, height, style);
 
   wxModelessWindows.Append(this);
             x, y, width, height, style);
 
   wxModelessWindows.Append(this);
@@ -481,7 +483,7 @@ void wxFrameMSW::PositionStatusBar()
 
 void wxFrameMSW::AttachMenuBar(wxMenuBar *menubar)
 {
 
 void wxFrameMSW::AttachMenuBar(wxMenuBar *menubar)
 {
-    m_frameMenuBar = menubar;
+    wxFrameBase::AttachMenuBar(menubar);
 
     if ( !menubar )
     {
 
     if ( !menubar )
     {
@@ -496,15 +498,15 @@ void wxFrameMSW::AttachMenuBar(wxMenuBar *menubar)
         {
             m_hMenu = menubar->GetHMenu();
         }
         {
             m_hMenu = menubar->GetHMenu();
         }
-        else
+        else // no HMENU yet
         {
         {
-            if ( menubar->IsAttached() )
-                menubar->Detach();
-
             m_hMenu = menubar->Create();
 
             if ( !m_hMenu )
             m_hMenu = menubar->Create();
 
             if ( !m_hMenu )
+            {
+                wxFAIL_MSG( _T("failed to create menu bar") );
                 return;
                 return;
+            }
         }
 
         InternalSetMenuBar();
         }
 
         InternalSetMenuBar();