]> git.saurik.com Git - wxWidgets.git/blobdiff - src/generic/listctrl.cpp
don't pass pointers to unaligned DWORDs to avoid 64 bit build problems (#9726)
[wxWidgets.git] / src / generic / listctrl.cpp
index 613d65a38e3b5379861f90632e39911e4206659b..8c1d0a4f2a0afe9d490a79a76e8776fde06ff444 100644 (file)
@@ -3393,16 +3393,10 @@ void wxListMainWindow::OnKeyDown( wxKeyEvent &event )
     wxWindow *parent = GetParent();
 
     // propagate the key event upwards
     wxWindow *parent = GetParent();
 
     // propagate the key event upwards
-    wxKeyEvent ke( wxEVT_KEY_DOWN );
-    ke.m_shiftDown = event.m_shiftDown;
-    ke.m_controlDown = event.m_controlDown;
-    ke.m_altDown = event.m_altDown;
-    ke.m_metaDown = event.m_metaDown;
-    ke.m_keyCode = event.m_keyCode;
-    ke.m_x = event.m_x;
-    ke.m_y = event.m_y;
+    wxKeyEvent ke(event);
     ke.SetEventObject( parent );
     ke.SetEventObject( parent );
-    if (parent->GetEventHandler()->ProcessEvent( ke )) return;
+    if (parent->GetEventHandler()->ProcessEvent( ke ))
+        return;
 
     event.Skip();
 }
 
     event.Skip();
 }
@@ -3412,16 +3406,9 @@ void wxListMainWindow::OnKeyUp( wxKeyEvent &event )
     wxWindow *parent = GetParent();
 
     // propagate the key event upwards
     wxWindow *parent = GetParent();
 
     // propagate the key event upwards
-    wxKeyEvent ke( wxEVT_KEY_UP );
-    ke.m_shiftDown = event.m_shiftDown;
-    ke.m_controlDown = event.m_controlDown;
-    ke.m_altDown = event.m_altDown;
-    ke.m_metaDown = event.m_metaDown;
-    ke.m_keyCode = event.m_keyCode;
-    ke.m_x = event.m_x;
-    ke.m_y = event.m_y;
-    ke.SetEventObject( parent );
-    if (parent->GetEventHandler()->ProcessEvent( ke )) return;
+    wxKeyEvent ke(event);
+    if (parent->GetEventHandler()->ProcessEvent( ke ))
+        return;
 
     event.Skip();
 }
 
     event.Skip();
 }
@@ -3442,16 +3429,10 @@ void wxListMainWindow::OnChar( wxKeyEvent &event )
     }
 
     // propagate the char event upwards
     }
 
     // propagate the char event upwards
-    wxKeyEvent ke( wxEVT_CHAR );
-    ke.m_shiftDown = event.m_shiftDown;
-    ke.m_controlDown = event.m_controlDown;
-    ke.m_altDown = event.m_altDown;
-    ke.m_metaDown = event.m_metaDown;
-    ke.m_keyCode = event.m_keyCode;
-    ke.m_x = event.m_x;
-    ke.m_y = event.m_y;
+    wxKeyEvent ke(event);
     ke.SetEventObject( parent );
     ke.SetEventObject( parent );
-    if (parent->GetEventHandler()->ProcessEvent( ke )) return;
+    if (parent->GetEventHandler()->ProcessEvent( ke ))
+        return;
 
     if ( HandleAsNavigationKey(event) )
         return;
 
     if ( HandleAsNavigationKey(event) )
         return;
@@ -4153,7 +4134,8 @@ wxRect wxListMainWindow::GetViewRect() const
 bool
 wxListMainWindow::GetSubItemRect(long item, long subItem, wxRect& rect) const
 {
 bool
 wxListMainWindow::GetSubItemRect(long item, long subItem, wxRect& rect) const
 {
-    wxCHECK_MSG( InReportView(), false,
+    wxCHECK_MSG( subItem == wxLIST_GETSUBITEMRECT_WHOLEITEM || InReportView(),
+                 false,
                  _T("GetSubItemRect only meaningful in report view") );
     wxCHECK_MSG( item >= 0 && (size_t)item < GetItemCount(), false,
                  _T("invalid item in GetSubItemRect") );
                  _T("GetSubItemRect only meaningful in report view") );
     wxCHECK_MSG( item >= 0 && (size_t)item < GetItemCount(), false,
                  _T("invalid item in GetSubItemRect") );