From cefd9a4a0ad5d8c1cd352e5911f8eebccd344e6b 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 b1e7e23..226ea69 100644
--- a/vcl/unx/gtk/gdi/salnativewidgets-gtk.cxx
+++ b/vcl/unx/gtk/gdi/salnativewidgets-gtk.cxx
@@ -441,6 +441,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 2a1f4e7..ed4c2d0 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