From 34527f747393d712f48199767800e736994ceffc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Va=CC=81clav=20Slavi=CC=81k?= Date: Wed, 19 Oct 2016 16:46:54 +0200 Subject: [PATCH] Fix wxNullVariant handling in wxDataViewBitmapRenderer In both the generic and GTK+ implementations, setting the value of a bitmap column to wxNullVariant resulted in the bitmap, if set for some rows, being repeated on the rows with null value. (cherry picked from commit f3b8dac3b7858d7d020daeda5421a63accd83435) --- src/generic/datavgen.cpp | 11 ++++++++++- src/gtk/dataview.cpp | 2 +- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/src/generic/datavgen.cpp b/src/generic/datavgen.cpp index ff21503984..75b87690ab 100644 --- a/src/generic/datavgen.cpp +++ b/src/generic/datavgen.cpp @@ -1035,9 +1035,18 @@ wxDataViewBitmapRenderer::wxDataViewBitmapRenderer( const wxString &varianttype, bool wxDataViewBitmapRenderer::SetValue( const wxVariant &value ) { if (value.GetType() == wxT("wxBitmap")) + { m_bitmap << value; - if (value.GetType() == wxT("wxIcon")) + } + else if (value.GetType() == wxT("wxIcon")) + { m_icon << value; + } + else + { + m_icon = wxNullIcon; + m_bitmap = wxNullBitmap; + } return true; } diff --git a/src/gtk/dataview.cpp b/src/gtk/dataview.cpp index a8b78170e4..fa3c58b5b7 100644 --- a/src/gtk/dataview.cpp +++ b/src/gtk/dataview.cpp @@ -2288,7 +2288,7 @@ bool wxDataViewBitmapRenderer::SetValue( const wxVariant &value ) } else { - return false; + SetPixbufProp(m_renderer, NULL); } return true;