int xOld = x;
x += width;
- const int wText = width - 8;
+ width -= 8;
+ const int wText = width;
wxDCClipper clipper(*dc, xOld, rect.y, wText, rect.height);
if ( item->HasImage() )
}
if ( item->HasText() )
- DrawTextFormatted(dc, item->GetText(), col, xOld, yMid, wText);
+ DrawTextFormatted(dc, item->GetText(), col, xOld, yMid, width);
}
}
void wxGenericListCtrl::DoClientToScreen( int *x, int *y ) const
{
- m_mainWin->DoClientToScreen(x, y);
+ // It's not clear whether this can be called before m_mainWin is created
+ // but it seems better to be on the safe side and check.
+ if ( m_mainWin )
+ m_mainWin->DoClientToScreen(x, y);
+ else
+ wxControl::DoClientToScreen(x, y);
}
void wxGenericListCtrl::DoScreenToClient( int *x, int *y ) const
{
- m_mainWin->DoScreenToClient(x, y);
+ // At least in wxGTK/Univ build this method can be called before m_mainWin
+ // is created so avoid crashes in this case.
+ if ( m_mainWin )
+ m_mainWin->DoScreenToClient(x, y);
+ else
+ wxControl::DoScreenToClient(x, y);
}
void wxGenericListCtrl::SetFocus()