summaryrefslogtreecommitdiff
path: root/source/l/gtk+/gtk+-1.2.10-themeswitch.patch
diff options
context:
space:
mode:
authorPatrick J Volkerding <volkerdi@slackware.com>2018-05-28 19:12:29 +0000
committerEric Hameleers <alien@slackware.com>2018-05-31 23:39:35 +0200
commit646a5c1cbfd95873950a87b5f75d52073a967023 (patch)
treeb8b8d2ab3b0d432ea69ad1a64d1c789649d65020 /source/l/gtk+/gtk+-1.2.10-themeswitch.patch
parentd31c50870d0bee042ce660e445c9294a59a3a65b (diff)
downloadcurrent-646a5c1cbfd95873950a87b5f75d52073a967023.tar.gz
Mon May 28 19:12:29 UTC 201820180528191229
a/pkgtools-15.0-noarch-13.txz: Rebuilt. installpkg: default line length for --terselength is the number of columns. removepkg: added --terse mode. upgradepkg: default line length for --terselength is the number of columns. upgradepkg: accept -option in addition to --option. ap/vim-8.1.0026-x86_64-1.txz: Upgraded. d/bison-3.0.5-x86_64-1.txz: Upgraded. e/emacs-26.1-x86_64-1.txz: Upgraded. kde/kopete-4.14.3-x86_64-8.txz: Rebuilt. Recompiled against libidn-1.35. n/conntrack-tools-1.4.5-x86_64-1.txz: Upgraded. n/libnetfilter_conntrack-1.0.7-x86_64-1.txz: Upgraded. n/libnftnl-1.1.0-x86_64-1.txz: Upgraded. n/links-2.16-x86_64-2.txz: Rebuilt. Rebuilt to enable X driver for -g mode. n/lynx-2.8.9dev.19-x86_64-1.txz: Upgraded. n/nftables-0.8.5-x86_64-1.txz: Upgraded. n/p11-kit-0.23.11-x86_64-1.txz: Upgraded. n/ulogd-2.0.7-x86_64-1.txz: Upgraded. n/whois-5.3.1-x86_64-1.txz: Upgraded. xap/network-manager-applet-1.8.12-x86_64-1.txz: Upgraded. xap/vim-gvim-8.1.0026-x86_64-1.txz: Upgraded.
Diffstat (limited to 'source/l/gtk+/gtk+-1.2.10-themeswitch.patch')
-rw-r--r--source/l/gtk+/gtk+-1.2.10-themeswitch.patch88
1 files changed, 88 insertions, 0 deletions
diff --git a/source/l/gtk+/gtk+-1.2.10-themeswitch.patch b/source/l/gtk+/gtk+-1.2.10-themeswitch.patch
new file mode 100644
index 00000000..5bf84903
--- /dev/null
+++ b/source/l/gtk+/gtk+-1.2.10-themeswitch.patch
@@ -0,0 +1,88 @@
+--- gtk+-1.2.10/gtk/gtkwindow.c.themeswitch Mon Aug 13 13:42:05 2001
++++ gtk+-1.2.10/gtk/gtkwindow.c Mon Aug 13 13:42:05 2001
+@@ -859,13 +859,60 @@
+ GTK_OBJECT_CLASS(parent_class)->finalize (object);
+ }
+
++
++static void
++reread_rc_files ()
++{
++ if (gtk_rc_reparse_all ())
++ {
++ /* If the above returned true, some of our RC files are out
++ * of date, so we need to reset all our widgets. Our other
++ * toplevel windows will also get the message, but by
++ * then, the RC file will up to date, so we have to tell
++ * them now.
++ */
++ GList *toplevels;
++
++ toplevels = gtk_container_get_toplevels();
++ while (toplevels)
++ {
++ gtk_widget_reset_rc_styles (toplevels->data);
++ toplevels = toplevels->next;
++ }
++ }
++}
++
+ static void
+ gtk_window_show (GtkWidget *widget)
+ {
+ GtkWindow *window = GTK_WINDOW (widget);
+ GtkContainer *container = GTK_CONTAINER (window);
+ gboolean need_resize;
++ GList *toplevels;
++ gboolean had_visible = FALSE;
+
++ /* If we have no windows shown at this point, then check for
++ * theme changes before showing the window. We really should
++ * be checking realized, not shown, but shown => realized,
++ * and checking in realize might cause reentrancy problems.
++ *
++ * Plus, this allows us to get the new size right before
++ * realizing.
++ */
++ toplevels = gtk_container_get_toplevels ();
++ while (toplevels)
++ {
++ if (GTK_WIDGET_VISIBLE (toplevels->data))
++ {
++ had_visible = TRUE;
++ break;
++ }
++ toplevels = toplevels->next;
++ }
++
++ if (!had_visible)
++ reread_rc_files ();
++
+ GTK_WIDGET_SET_FLAGS (widget, GTK_VISIBLE);
+
+ need_resize = container->need_resize || !GTK_WIDGET_REALIZED (widget);
+@@ -1480,23 +1527,7 @@
+ }
+ }
+
+- if (gtk_rc_reparse_all ())
+- {
+- /* If the above returned true, some of our RC files are out
+- * of date, so we need to reset all our widgets. Our other
+- * toplevel windows will also get the message, but by
+- * then, the RC file will up to date, so we have to tell
+- * them now.
+- */
+- GList *toplevels;
+-
+- toplevels = gtk_container_get_toplevels();
+- while (toplevels)
+- {
+- gtk_widget_reset_rc_styles (toplevels->data);
+- toplevels = toplevels->next;
+- }
+- }
++ reread_rc_files ();
+ }
+
+ static gint