Blob Blame History Raw
From 70eb2fccb1fb43e6d7b2b0486d55fa5ef99c6998 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caolanm@redhat.com>
Date: Fri, 24 Apr 2015 11:01:50 +0100
Subject: [PATCH] Resolves: tdf#73211 gtk checkboxes need erase afer toggling

because an unchecked checkbox can have a smaller paint area
than a checked checkbox. This has always bugged me

(cherry picked from commit d194074aa34e3724dd9b93fbc81bf2ba793cd37a)

Conflicts:
	vcl/unx/gtk3/gdi/gtk3salnativewidgets-gtk.cxx

Change-Id: Iac0f075089611b47c381863a9655445d732bfddc
---
 vcl/unx/gtk/gdi/salnativewidgets-gtk.cxx      | 2 ++
 vcl/unx/gtk3/gdi/gtk3salnativewidgets-gtk.cxx | 7 ++++++-
 2 files changed, 8 insertions(+), 1 deletion(-)

diff --git a/vcl/unx/gtk/gdi/salnativewidgets-gtk.cxx b/vcl/unx/gtk/gdi/salnativewidgets-gtk.cxx
index 2c6036b..828f5aa 100644
--- a/vcl/unx/gtk/gdi/salnativewidgets-gtk.cxx
+++ b/vcl/unx/gtk/gdi/salnativewidgets-gtk.cxx
@@ -538,6 +538,8 @@ void GtkData::initNWF( void )
     pSVData->maNWFData.mnMenuFormatBorderX = xthickness + horizontal_padding;
     pSVData->maNWFData.mnMenuFormatBorderY = ythickness + vertical_padding;
 
+    pSVData->maNWFData.mbCheckBoxNeedsErase = true;
+
     if( SalGetDesktopEnvironment() == "KDE" )
     {
         // #i97196# ensure a widget exists and the style engine was loaded
diff --git a/vcl/unx/gtk3/gdi/gtk3salnativewidgets-gtk.cxx b/vcl/unx/gtk3/gdi/gtk3salnativewidgets-gtk.cxx
index 0bb0c34..9d11e5e 100644
--- a/vcl/unx/gtk3/gdi/gtk3salnativewidgets-gtk.cxx
+++ b/vcl/unx/gtk3/gdi/gtk3salnativewidgets-gtk.cxx
@@ -1470,7 +1470,12 @@ bool GtkSalGraphics::IsNativeControlSupported( ControlType nType, ControlPart nP
     return false;
 }
 
-void GtkData::initNWF() {}
+void GtkData::initNWF()
+{
+    ImplSVData* pSVData = ImplGetSVData();
+    pSVData->maNWFData.mbCheckBoxNeedsErase = true;
+}
+
 void GtkData::deInitNWF() {}
 
 void GtkSalGraphics::getStyleContext(GtkStyleContext** style, GtkWidget* widget)
-- 
2.1.0