]> git.saurik.com Git - wxWidgets.git/blobdiff - src/motif/frame.cpp
fix another memory leak in SetCommand() (coverity checker CID 52)
[wxWidgets.git] / src / motif / frame.cpp
index 6622d42bd1f22c0cbc189dea666115e80ac8bf50..562720af2db5e8f472962b3b23813fa70a962588 100644 (file)
@@ -1,5 +1,5 @@
 /////////////////////////////////////////////////////////////////////////////
-// Name:        motif/frame.cpp
+// Name:        src/motif/frame.cpp
 // Purpose:     wxFrame
 // Author:      Julian Smart
 // Modified by:
 // headers
 // ----------------------------------------------------------------------------
 
-#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
-    #pragma implementation "frame.h"
-#endif
-
 // For compilers that support precompilation, includes "wx.h".
 #include "wx/wxprec.h"
 
@@ -188,7 +184,8 @@ bool wxFrame::Create(wxWindow *parent,
 
     PreResize();
 
-    wxSizeEvent sizeEvent(wxSize(width, height), GetId());
+    wxSize newSize(width, height);
+    wxSizeEvent sizeEvent(newSize, GetId());
     sizeEvent.SetEventObject(this);
 
     GetEventHandler()->ProcessEvent(sizeEvent);
@@ -196,12 +193,13 @@ bool wxFrame::Create(wxWindow *parent,
     return true;
 }
 
-bool wxFrame::DoCreate( wxWindow* parent, wxWindowID id,
-                        const wxString& title,
-                        const wxPoint& pos,
-                        const wxSize& size,
-                        long style,
-                        const wxString& name )
+bool wxFrame::XmDoCreateTLW(wxWindow* WXUNUSED(parent),
+                            wxWindowID WXUNUSED(id),
+                            const wxString& WXUNUSED(title),
+                            const wxPoint& WXUNUSED(pos),
+                            const wxSize& WXUNUSED(size),
+                            long style,
+                            const wxString& name)
 {
     Widget frameShell;
 
@@ -281,11 +279,6 @@ wxFrame::~wxFrame()
     if (m_frameMenuBar)
     {
         m_frameMenuBar->DestroyMenuBar();
-
-        // Hack to stop core dump on Ultrix, OSF, for some strange reason.
-#if MOTIF_MENUBAR_DELETE_FIX
-        GetMenuBar()->SetMainWidget((WXWidget) NULL);
-#endif
         delete m_frameMenuBar;
         m_frameMenuBar = NULL;
     }
@@ -297,11 +290,7 @@ wxFrame::~wxFrame()
     }
 
     PreDestroy();
-    DoDestroy();
-}
 
-void wxFrame::DoDestroy()
-{
     Widget frameShell = (Widget)GetShellWidget();
 
     if( frameShell )
@@ -342,7 +331,7 @@ void wxFrame::DoGetClientSize(int *x, int *y) const
     {
         int sbw, sbh;
         m_frameStatusBar->GetSize(& sbw, & sbh);
-        yy -= sbh;
+        yy = (Dimension)(yy - sbh);
     }
 #if wxUSE_TOOLBAR
     if (m_frameToolBar)
@@ -350,9 +339,9 @@ void wxFrame::DoGetClientSize(int *x, int *y) const
         int tbw, tbh;
         m_frameToolBar->GetSize(& tbw, & tbh);
         if (m_frameToolBar->GetWindowStyleFlag() & wxTB_VERTICAL)
-            xx -= tbw;
+            xx = (Dimension)(xx - tbw);
         else
-            yy -= tbh;
+            yy = (Dimension)(yy - tbh);
     }
 #endif // wxUSE_TOOLBAR
 
@@ -397,7 +386,8 @@ void wxFrame::DoSetClientSize(int width, int height)
     }
     PreResize();
 
-    wxSizeEvent sizeEvent(wxSize(width, height), GetId());
+    wxSize newSize(width, height);
+    wxSizeEvent sizeEvent(newSize, GetId());
     sizeEvent.SetEventObject(this);
 
     GetEventHandler()->ProcessEvent(sizeEvent);