commit:     218e1198f3988f587725d166430b16332ca47a5f
Author:     Mart Raudsepp <leio <AT> gentoo <DOT> org>
AuthorDate: Thu Feb  7 09:49:49 2019 +0000
Commit:     Mart Raudsepp <leio <AT> gentoo <DOT> org>
CommitDate: Thu Feb  7 11:25:54 2019 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=218e1198

x11-libs/gtk+: Further fallback fixes for GtkSwitch unicode glyphs

Add a final fallback to no glyphs at all, so if the glyphs aren't
found, it'll at least just not use any and not mess up layout and
stomp on some memory, etc. The ON or OFF position should still be
visible from color and position, at least, but for most people at
least the secondary glyphs should be available.
gtk+-3.22.5 changes all this to icons, but it also changes the
default theme look, so we do this simpler patch for 3.22.4 for
that to be the next stable candidate soon, instead of theme
changing 3.22.5.

Closes: https://bugs.gentoo.org/676098
Package-Manager: Portage-2.3.52, Repoman-2.3.12
Signed-off-by: Mart Raudsepp <leio <AT> gentoo.org>

 .../files/3.24.4-more-gtkswitch-fallback.patch     | 34 ++++++++++++++++++++++
 .../{gtk+-3.24.4.ebuild => gtk+-3.24.4-r1.ebuild}  |  5 ++++
 2 files changed, 39 insertions(+)

diff --git a/x11-libs/gtk+/files/3.24.4-more-gtkswitch-fallback.patch 
b/x11-libs/gtk+/files/3.24.4-more-gtkswitch-fallback.patch
new file mode 100644
index 00000000000..629a2d750e1
--- /dev/null
+++ b/x11-libs/gtk+/files/3.24.4-more-gtkswitch-fallback.patch
@@ -0,0 +1,34 @@
+From 6a4ce55a69c5ecbbf06bc905ac0bfdd04f64bb66 Mon Sep 17 00:00:00 2001
+From: Matthias Clasen <[email protected]>
+Date: Wed, 23 Jan 2019 12:02:27 -0500
+Subject: [PATCH] switch: Avoid problems with glyph availability
+
+If none of the glyphs we want are available, fall
+back to using empty strings here, rather than causing
+critical warnings.
+---
+ gtk/gtkswitch.c | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/gtk/gtkswitch.c b/gtk/gtkswitch.c
+index 1d42f572a9..4c49e243ed 100644
+--- a/gtk/gtkswitch.c
++++ b/gtk/gtkswitch.c
+@@ -302,12 +302,14 @@ gtk_switch_create_pango_layouts (GtkSwitch *self)
+   const char *on_glyphs[] = {
+     "⏽", /* U+23FD POWER ON SYMBOL */
+     "❙", /* U+2759 MEDIUM VERTICAL BAR */
++    ""
+   };
+ 
+   /* Glyphs for the OFF state, in descending order of preference */
+   const char *off_glyphs[] = {
+     "⭘", /* U+2B58 HEAVY CIRCLE */
+     "○", /* U+25CB WHITE CIRCLE */
++    ""
+   };
+   int i;
+ 
+-- 
+2.17.0
+

diff --git a/x11-libs/gtk+/gtk+-3.24.4.ebuild 
b/x11-libs/gtk+/gtk+-3.24.4-r1.ebuild
similarity index 94%
rename from x11-libs/gtk+/gtk+-3.24.4.ebuild
rename to x11-libs/gtk+/gtk+-3.24.4-r1.ebuild
index 6d73439415d..adee45f1b14 100644
--- a/x11-libs/gtk+/gtk+-3.24.4.ebuild
+++ b/x11-libs/gtk+/gtk+-3.24.4-r1.ebuild
@@ -121,6 +121,11 @@ src_prepare() {
                strip_builddir SRC_SUBDIRS examples Makefile.{am,in}
        fi
 
+       # Add fallback to no glyph for GtkSwitch, so if no glyph for some 
reason is found, it at least doesn't mess things up completely
+       # gtk+-3.24.5 replaces these with CSS gadget icons, but we include this 
simpler version in revbump as a stable candidate without
+       # the Adwaita theme changes found in 3.24.5
+       eapply "${FILESDIR}"/${PV}-more-gtkswitch-fallback.patch
+
        # gtk-update-icon-cache is installed by dev-util/gtk-update-icon-cache
        eapply "${FILESDIR}"/${PN}-3.22.2-update-icon-cache.patch
 

Reply via email to