git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@58812
c3d73ce0-8a6f-49c7-b76d-
6d57e0e08775
// Necessary for drawing hrules and vrules, if specified
void wxListCtrl::OnPaint(wxPaintEvent& event)
{
// Necessary for drawing hrules and vrules, if specified
void wxListCtrl::OnPaint(wxPaintEvent& event)
{
+ const int itemCount = GetItemCount();
const bool drawHRules = HasFlag(wxLC_HRULES);
const bool drawVRules = HasFlag(wxLC_VRULES);
const bool drawHRules = HasFlag(wxLC_HRULES);
const bool drawVRules = HasFlag(wxLC_VRULES);
- if (!InReportView() || !(drawHRules || drawVRules))
+ if (!InReportView() || !(drawHRules || drawVRules) || !itemCount)
wxSize clientSize = GetClientSize();
wxRect itemRect;
wxSize clientSize = GetClientSize();
wxRect itemRect;
- int itemCount = GetItemCount();
- int i;
- long top = GetTopItem();
- for (i = top; i < top + GetCountPerPage() + 1; i++)
+ const long top = GetTopItem();
+ for ( int i = top; i < top + GetCountPerPage() + 1; i++ )
{
if (GetItemRect(i, itemRect))
{
{
if (GetItemRect(i, itemRect))
{
{
cy = itemRect.GetBottom();
dc.DrawLine(0, cy, clientSize.x, cy);
{
cy = itemRect.GetBottom();
dc.DrawLine(0, cy, clientSize.x, cy);
- i = itemCount - 1;
- if (drawVRules && (i > -1))
{
wxRect firstItemRect;
GetItemRect(0, firstItemRect);
{
wxRect firstItemRect;
GetItemRect(0, firstItemRect);
- if (GetItemRect(i, itemRect))
+ if (GetItemRect(itemCount - 1, itemRect))
{
// this is a fix for bug 673394: erase the pixels which we would
// otherwise leave on the screen
{
// this is a fix for bug 673394: erase the pixels which we would
// otherwise leave on the screen