]> git.saurik.com Git - wxWidgets.git/blobdiff - src/generic/listctrl.cpp
Compilation fix for mingw32 - will this break cygwin?
[wxWidgets.git] / src / generic / listctrl.cpp
index 43b025202c9a2d51241798f12b797db1b5fef977..098346f76a634e31470b43a81172eb153d78190d 100644 (file)
@@ -314,8 +314,13 @@ void wxListLineData::CalculateSize( wxDC *dc, int spacing )
                 m_bound_all.height = lh;
                 if (item->HasImage())
                 {
+#ifdef __WIN16__
+                    int w = 0;
+                    int h = 0;
+#else
                     wxCoord w = 0;
                     wxCoord h = 0;
+#endif
                     m_owner->GetImageSize( item->GetImage(), w, h );
                     m_bound_all.width += 4 + w;
                     if (h > m_bound_all.height) m_bound_all.height = h;
@@ -1617,8 +1622,9 @@ void wxListMainWindow::OnChar( wxKeyEvent &event )
     {
         wxNavigationKeyEvent nevent;
         nevent.SetDirection( !event.ShiftDown() );
+        nevent.SetEventObject( GetParent()->GetParent() );
         nevent.SetCurrentFocus( m_parent );
-        if (m_parent->GetEventHandler()->ProcessEvent( nevent )) return;
+        if (GetParent()->GetParent()->GetEventHandler()->ProcessEvent( nevent )) return;
     }
 
     /* no item -> nothing to do */
@@ -2329,7 +2335,7 @@ long wxListMainWindow::GetNextItem( long item, int WXUNUSED(geometry), int state
     long ret = 0;
     if (item > 0) ret = item;
     if(ret >= GetItemCount()) return -1;
-    wxNode *node = m_lines.Nth( (size_t)ret );
+    wxNode *node = m_lines.Nth( (size_t)++ret );
     while (node)
     {
         wxListLineData *line = (wxListLineData*)node->Data();
@@ -2710,9 +2716,15 @@ bool wxListCtrl::Create(wxWindow *parent,
     m_mainWin = new wxListMainWindow( this, -1, wxPoint(0,0), size, style );
 
     if (HasFlag(wxLC_REPORT))
+    {
         m_headerWin = new wxListHeaderWindow( this, -1, m_mainWin, wxPoint(0,0), wxSize(size.x,23), wxTAB_TRAVERSAL );
+        if (HasFlag(wxLC_NO_HEADER))
+            m_headerWin->Show( FALSE );
+    }
     else
+    {
         m_headerWin = (wxListHeaderWindow *) NULL;
+    }
 
     SetBackgroundColour( *wxWHITE );