X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/aae3b9d5ca9f0c8fa2d64f04751e396e186970f0..50d4763f1710f6e45ac6af7112d1ce9effe93bc4:/src/generic/listctrl.cpp diff --git a/src/generic/listctrl.cpp b/src/generic/listctrl.cpp index f95abdb06f..2b1a22df1e 100644 --- a/src/generic/listctrl.cpp +++ b/src/generic/listctrl.cpp @@ -342,12 +342,23 @@ bool wxListHeaderData::IsHit( int x, int y ) const void wxListHeaderData::GetItem( wxListItem& item ) { - item.m_mask = m_mask; - item.m_text = m_text; - item.m_image = m_image; - item.m_format = m_format; - item.m_width = m_width; - item.m_state = m_state; + long mask = item.m_mask; + if ( !mask ) + { + // by default, get everything for backwards compatibility + mask = -1; + } + + if ( mask & wxLIST_MASK_STATE ) + item.m_state = m_state; + if ( mask & wxLIST_MASK_TEXT ) + item.m_text = m_text; + if ( mask & wxLIST_MASK_IMAGE ) + item.m_image = m_image; + if ( mask & wxLIST_MASK_WIDTH ) + item.m_width = m_width; + if ( mask & wxLIST_MASK_FORMAT ) + item.m_format = m_format; } int wxListHeaderData::GetImage() const @@ -2412,12 +2423,7 @@ void wxListMainWindow::OnMouse( wxMouseEvent &event ) int command = event.RightIsDown() ? wxEVT_COMMAND_LIST_BEGIN_RDRAG : wxEVT_COMMAND_LIST_BEGIN_DRAG; - wxListEvent le( command, GetParent()->GetId() ); - le.SetEventObject( GetParent() ); - le.m_item.m_itemId = - le.m_itemIndex = m_lineLastClicked; - le.m_pointDrag = m_dragStart; - GetParent()->GetEventHandler()->ProcessEvent( le ); + SendNotify( m_lineLastClicked, command, m_dragStart ); return; }