Don't call wxDataViewModel::GetValue() for container row cells
This could be unexpected as it seems reasonable that the model won't be ever asked about the value of a cell if it's not going to appear in it anyhow -- however it could still happen during the column width computation in the generic wxDataViewCtrl implementation. Fix this in a minimally invasive way by just skipping the call to GetValue() in this case.
This commit is contained in:
parent
2f2ecfa03f
commit
4cc2762ebc
@ -801,7 +801,11 @@ wxDataViewRendererBase::CheckedGetValue(const wxDataViewModel* model,
|
||||
unsigned column) const
|
||||
{
|
||||
wxVariant value;
|
||||
model->GetValue(value, item, column);
|
||||
// Avoid calling GetValue() if the model isn't supposed to have any values
|
||||
// in this cell (e.g. a non-first column of a container item), this could
|
||||
// be unexpected.
|
||||
if ( model->HasValue(item, column) )
|
||||
model->GetValue(value, item, column);
|
||||
|
||||
// We always allow the cell to be null, regardless of the renderer type.
|
||||
if ( !value.IsNull() )
|
||||
|
Loading…
Reference in New Issue
Block a user