]> git.saurik.com Git - wxWidgets.git/blobdiff - src/osx/toplevel_osx.cpp
fix memory leak in wxScreenDC, fixes #13249
[wxWidgets.git] / src / osx / toplevel_osx.cpp
index 16c88a85d81fbd0103fd04ef1b52bb0a66406e55..4f3d1a6d3ac2a3454921a534c1818a71c7d76fd9 100644 (file)
@@ -1,12 +1,12 @@
 ///////////////////////////////////////////////////////////////////////////////
-// Name:        src/osx/toplevel.cpp
+// Name:        src/osx/toplevel_osx.cpp
 // Purpose:     implements wxTopLevelWindow for Mac
 // Author:      Stefan Csomor
 // Modified by:
 // Created:     24.09.01
 // RCS-ID:      $Id$
 // Copyright:   (c) 2001-2004 Stefan Csomor
-// License:     wxWindows licence
+// Licence:     wxWindows licence
 ///////////////////////////////////////////////////////////////////////////////
 
 // ============================================================================
@@ -73,10 +73,7 @@ bool wxTopLevelWindowMac::Create(wxWindow *parent,
                                  long style,
                                  const wxString& name)
 {
-    int w = WidthDefault(size.x);
-    int h = HeightDefault(size.y);
-
-    if ( !wxNonOwnedWindow::Create(parent, id, pos, wxSize(w,h), style, name) )
+    if ( !wxNonOwnedWindow::Create(parent, id, pos, size, style, name) )
         return false;
 
     wxWindow::SetLabel( title ) ;
@@ -86,6 +83,17 @@ bool wxTopLevelWindowMac::Create(wxWindow *parent,
     return true;
 }
 
+bool wxTopLevelWindowMac::Create(wxWindow *parent,
+                                 WXWindow nativeWindow)
+{
+    if ( !wxNonOwnedWindow::Create(parent, nativeWindow ) )
+        return false;
+
+    wxTopLevelWindows.Append(this);
+
+    return true;
+}
+
 wxTopLevelWindowMac::~wxTopLevelWindowMac()
 {
 }
@@ -114,6 +122,9 @@ void wxTopLevelWindowMac::Maximize(bool maximize)
 
 bool wxTopLevelWindowMac::IsMaximized() const
 {
+    if ( m_nowpeer == NULL )
+        return false;
+
     return m_nowpeer->IsMaximized();
 }
 
@@ -125,6 +136,9 @@ void wxTopLevelWindowMac::Iconize(bool iconize)
 
 bool wxTopLevelWindowMac::IsIconized() const
 {
+    if ( m_nowpeer == NULL )
+        return false;
+
     return m_nowpeer->IsIconized();
 }
 
@@ -147,7 +161,8 @@ wxPoint wxTopLevelWindowMac::GetClientAreaOrigin() const
 
 void wxTopLevelWindowMac::SetTitle(const wxString& title)
 {
-    wxWindow::SetLabel( title ) ;
+    m_label = title ;
+
     if ( m_nowpeer )
         m_nowpeer->SetTitle(title, GetFont().GetEncoding() );
 }
@@ -165,7 +180,7 @@ void wxTopLevelWindowMac::ShowWithoutActivating()
         return;
 
     m_nowpeer->ShowWithoutActivating();
-    
+
     // TODO: Should we call EVT_SIZE here?
 }