File 0001-Fix-drawing-checkbox-and-radiobutton-in-checked-stat.patch of Package wxWidgets-3_0

From c1d150ed1228c155054cf1fa90932ced7371e6a4 Mon Sep 17 00:00:00 2001
From: Paul Cornett <paulcor@users.noreply.github.com>
Date: Sun, 1 Nov 2015 19:46:01 -0800
Subject: [PATCH] Fix drawing checkbox and radiobutton in checked state with
 GTK+ >= 3.14, see #17240

(cherry picked from commit ed817dd3667306fc5079068734a6b89203129607)
---
 src/gtk/renderer.cpp | 12 ++++++++++++
 1 file changed, 12 insertions(+)

diff --git a/src/gtk/renderer.cpp b/src/gtk/renderer.cpp
index 98969dd..c7e95a9 100644
--- a/src/gtk/renderer.cpp
+++ b/src/gtk/renderer.cpp
@@ -41,6 +41,10 @@
 #include "wx/gtk/private.h"
 #include "wx/gtk/private/gtk2-compat.h"
 
+#if defined(__WXGTK3__) && !GTK_CHECK_VERSION(3,14,0)
+    #define GTK_STATE_FLAG_CHECKED (1 << 11)
+#endif
+
 // ----------------------------------------------------------------------------
 // wxRendererGTK: our wxRendererNative implementation
 // ----------------------------------------------------------------------------
@@ -551,7 +555,11 @@ wxRendererGTK::DrawCheckBox(wxWindow* win,
     {
         int stateFlags = GTK_STATE_FLAG_NORMAL;
         if (flags & wxCONTROL_CHECKED)
+        {
             stateFlags = GTK_STATE_FLAG_ACTIVE;
+            if (gtk_check_version(3,14,0) == NULL)
+                stateFlags = GTK_STATE_FLAG_CHECKED;
+        }
         if (flags & wxCONTROL_DISABLED)
             stateFlags |= GTK_STATE_FLAG_INSENSITIVE;
         if (flags & wxCONTROL_UNDETERMINED)
@@ -866,7 +874,11 @@ void wxRendererGTK::DrawRadioBitmap(wxWindow* win, wxDC& dc, const wxRect& rect,
 #ifdef __WXGTK3__
     int state = GTK_STATE_FLAG_NORMAL;
     if (flags & wxCONTROL_CHECKED)
+    {
         state = GTK_STATE_FLAG_ACTIVE;
+        if (gtk_check_version(3,14,0) == NULL)
+            state = GTK_STATE_FLAG_CHECKED;
+    }
     else if (flags & wxCONTROL_UNDETERMINED)
         state = GTK_STATE_FLAG_INCONSISTENT;
     if (flags & wxCONTROL_DISABLED)
-- 
2.7.0

openSUSE Build Service is sponsored by