]> git.saurik.com Git - wxWidgets.git/blobdiff - src/generic/listctrl.cpp
Don't leak m_protocol in wxURL.
[wxWidgets.git] / src / generic / listctrl.cpp
index 4cd96c9e6acfaeceab48d19f93cfe6839df071a8..3804bf0e6f68e61833e06fa31fca7b740d7bf1b8 100644 (file)
@@ -4272,7 +4272,6 @@ void wxGenericListCtrl::Init()
 
     m_mainWin = NULL;
     m_headerWin = NULL;
-    m_headerHeight = wxRendererNative::Get().GetHeaderButtonHeight(this);
 }
 
 wxGenericListCtrl::~wxGenericListCtrl()
@@ -4299,7 +4298,11 @@ void wxGenericListCtrl::CreateOrDestroyHeaderWindowAsNeeded()
                       (
                         this, wxID_ANY, m_mainWin,
                         wxPoint(0,0),
-                        wxSize(GetClientSize().x, m_headerHeight),
+                        wxSize
+                        (
+                          GetClientSize().x,
+                          wxRendererNative::Get().GetHeaderButtonHeight(this)
+                        ),
                         wxTAB_TRAVERSAL
                       );
 
@@ -4310,11 +4313,6 @@ void wxGenericListCtrl::CreateOrDestroyHeaderWindowAsNeeded()
 #endif
 
         GetSizer()->Prepend( m_headerWin, 0, wxGROW );
-#ifdef __WXOSX__
-        // TODO not tested under other platforms, remove the platform condition if
-        // it works on those as well
-        GetSizer()->SetItemMinSize( m_headerWin, wxSize(-1,m_headerHeight) ); 
-#endif
     }
     else
     {
@@ -4446,6 +4444,10 @@ void wxGenericListCtrl::SetSingleStyle( long style, bool add )
 
 void wxGenericListCtrl::SetWindowStyleFlag( long flag )
 {
+    // update the window style first so that the header is created or destroyed
+    // corresponding to the new style
+    wxWindow::SetWindowStyleFlag( flag );
+
     if (m_mainWin)
     {
         // m_mainWin->DeleteEverything();  wxMSW doesn't do that
@@ -4454,8 +4456,6 @@ void wxGenericListCtrl::SetWindowStyleFlag( long flag )
 
         GetSizer()->Layout();
     }
-
-    wxWindow::SetWindowStyleFlag( flag );
 }
 
 bool wxGenericListCtrl::GetColumn(int col, wxListItem &item) const
@@ -4592,7 +4592,7 @@ bool wxGenericListCtrl::GetSubItemRect(long item,
         return false;
 
     if ( m_mainWin->HasHeader() )
-        rect.y += m_headerHeight + 1;
+        rect.y += m_headerWin->GetSize().y + 1;
 
     return true;
 }