From 9496deb58608212e21f4db42dbbfec6aab2523ae Mon Sep 17 00:00:00 2001 From: Michael Bedward Date: Mon, 7 Feb 2000 03:36:01 +0000 Subject: [PATCH] Fixed bug in wxGrid::DrawAllGridLines that was causing crashes git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@5880 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- src/generic/grid.cpp | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/src/generic/grid.cpp b/src/generic/grid.cpp index 3272dfb10f..88a2520a58 100644 --- a/src/generic/grid.cpp +++ b/src/generic/grid.cpp @@ -36,8 +36,8 @@ #include "wx/generic/grid.h" -#ifndef DRAW_LINES -#define DRAW_LINES 1 +#ifndef WXGRID_DRAW_LINES +#define WXGRID_DRAW_LINES 1 #endif ////////////////////////////////////////////////////////////////////// @@ -876,7 +876,7 @@ void wxGridWindow::OnPaint( wxPaintEvent &WXUNUSED(event) ) wxRegion reg = GetUpdateRegion(); m_owner->CalcCellsExposed( reg ); m_owner->DrawGridCellArea( dc ); -#if DRAW_LINES +#if WXGRID_DRAW_LINES m_owner->DrawAllGridLines( dc, reg ); #endif } @@ -2621,7 +2621,7 @@ void wxGrid::DrawCell( wxDC& dc, const wxGridCellCoords& coords ) if ( m_colWidths[coords.GetCol()] <=0 || m_rowHeights[coords.GetRow()] <= 0 ) return; -#if !DRAW_LINES +#if !WXGRID_DRAW_LINES if ( m_gridLinesEnabled ) DrawCellBorder( dc, coords ); #endif @@ -2752,12 +2752,17 @@ void wxGrid::DrawAllGridLines( wxDC& dc, const wxRegion & reg ) CalcUnscrolledPosition( x + w, y + h, &right, &bottom ); } + // avoid drawing grid lines past the last row and col + // + right = wxMin( right, m_colRights[m_numCols-1] ); + bottom = wxMin( bottom, m_rowBottoms[m_numRows-1] ); + dc.SetPen( wxPen(GetGridLineColour(), 1, wxSOLID) ); // horizontal grid lines // int i; - for ( i = 0; i <= m_numRows; i++ ) + for ( i = 0; i < m_numRows; i++ ) { if ( m_rowBottoms[i] > bottom ) { @@ -2772,7 +2777,7 @@ void wxGrid::DrawAllGridLines( wxDC& dc, const wxRegion & reg ) // vertical grid lines // - for ( i = 0; i <= m_numCols; i++ ) + for ( i = 0; i < m_numCols; i++ ) { if ( m_colRights[i] > right ) { -- 2.47.2