Compare commits

..

10 Commits
master ... f21

Author SHA1 Message Date
Matthias Clasen
e3a7646f0d 2.24.28 2015-05-13 10:28:12 -04:00
Matthias Clasen
b2a666bcc7 Forgotten file 2015-03-03 14:28:45 -05:00
Matthias Clasen
99f00f2e22 2.24.27 2015-03-03 14:19:41 -05:00
Matthias Clasen
8b52563075 2.24.26 2015-02-19 20:26:22 -05:00
Kalev Lember
0c11778daf Update to 2.24.25 2014-10-11 14:02:04 +02:00
Matthias Clasen
6399790792 avoid a crash 2014-09-29 16:21:29 -04:00
Kalev Lember
df9ee1c1d9 Do not abort when releasing an unlocked mutex
Backport an upstream fix to avoid triggering abort() from F21 glib2 when
releasing a mutex that hasn't been locked yet.

https://bugzilla.redhat.com/show_bug.cgi?id=1138146
2014-09-04 13:28:14 +02:00
Kalev Lember
c3acd62c32 Drop an unused patch 2014-08-25 20:41:57 +02:00
Peter Robinson
b864a541df - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild 2014-08-16 19:35:50 +00:00
Matthias Clasen
385c950e28 2.24.24 2014-07-22 15:28:37 -04:00
19 changed files with 2961 additions and 431 deletions

5
.gitignore vendored
View File

@ -26,12 +26,7 @@ gtk+-2.21.5.tar.bz2
/gtk+-2.24.21.tar.xz
/gtk+-2.24.22.tar.bz2
/gtk+-2.24.23.tar.xz
/gtk+-2.24.24.tar.xz
/gtk+-2.24.25.tar.xz
/gtk+-2.24.26.tar.bz2
/gtk+-2.24.27.tar.bz2
/gtk+-2.24.28.tar.bz2
/gtk+-2.24.29.tar.xz
/gtk+-2.24.30.tar.xz
/gtk+-2.24.31.tar.xz
/gtk+-2.24.32.tar.xz

View File

@ -1,67 +0,0 @@
From 889a63dffc72c048502d0f7d2b26bfc8532462eb Mon Sep 17 00:00:00 2001
From: John Lindgren <john@jlindgren.net>
Date: Tue, 15 May 2018 21:47:12 -0400
Subject: [PATCH] Fix compiler warnings with GCC 8.1.
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
GCC 8.1 added some new warnings, including warning about parentheses
with no effect in variable declarations. GTK2 headers have a few of
these, which produce a lot of warnings in projects using GTK2.
The warnings look like:
/usr/include/gtk-2.0/gtk/gtkfilechooserbutton.h:59:8: warning:
unnecessary parentheses in declaration of __gtk_reserved1 [-Wparentheses]
void (*__gtk_reserved1);
^
Removing the parentheses is harmless and fixes the warnings.
---
gtk/gtkfilechooserbutton.h | 14 +++++++-------
gtk/gtkstatusicon.h | 4 ++--
2 files changed, 9 insertions(+), 9 deletions(-)
diff --git a/gtk/gtkfilechooserbutton.h b/gtk/gtkfilechooserbutton.h
index b3d9112cf9..fdacc4b6ec 100644
--- a/gtk/gtkfilechooserbutton.h
+++ b/gtk/gtkfilechooserbutton.h
@@ -56,13 +56,13 @@ struct _GtkFileChooserButtonClass
void (* file_set) (GtkFileChooserButton *fc);
- void (*__gtk_reserved1);
- void (*__gtk_reserved2);
- void (*__gtk_reserved3);
- void (*__gtk_reserved4);
- void (*__gtk_reserved5);
- void (*__gtk_reserved6);
- void (*__gtk_reserved7);
+ void *__gtk_reserved1;
+ void *__gtk_reserved2;
+ void *__gtk_reserved3;
+ void *__gtk_reserved4;
+ void *__gtk_reserved5;
+ void *__gtk_reserved6;
+ void *__gtk_reserved7;
};
diff --git a/gtk/gtkstatusicon.h b/gtk/gtkstatusicon.h
index 19dbd1cdeb..c45caca5ae 100644
--- a/gtk/gtkstatusicon.h
+++ b/gtk/gtkstatusicon.h
@@ -73,8 +73,8 @@ struct _GtkStatusIconClass
gboolean keyboard_mode,
GtkTooltip *tooltip);
- void (*__gtk_reserved1);
- void (*__gtk_reserved2);
+ void *__gtk_reserved1;
+ void *__gtk_reserved2;
};
GType gtk_status_icon_get_type (void) G_GNUC_CONST;
--
2.20.1

View File

@ -0,0 +1,35 @@
From 5c3bb1839cac52828756f9ddb98f49d586853991 Mon Sep 17 00:00:00 2001
From: Cosimo Cecchi <cosimoc@gnome.org>
Date: Wed, 16 Nov 2011 17:38:45 -0500
Subject: [PATCH 1/4] Revert "iconview: layout items immediately when setting
a GtkTreeModel"
It makes GtkIconView segfault on GTK 2.24.
gtk_icon_view_expose() calls gtk_icon_view_layout() first thing if
there's a layout queued anyway, so we wouldn't end up in the same
situation causing the crash the original patch is supposed to fix.
This reverts commit 5a03f4a6a50237d86959f596dda143dfc2f040d1.
https://bugzilla.gnome.org/show_bug.cgi?id=663138
---
gtk/gtkiconview.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/gtk/gtkiconview.c b/gtk/gtkiconview.c
index 62877fa..54b3f3b 100644
--- a/gtk/gtkiconview.c
+++ b/gtk/gtkiconview.c
@@ -5423,7 +5423,7 @@ gtk_icon_view_set_model (GtkIconView *icon_view,
gtk_icon_view_build_items (icon_view);
- gtk_icon_view_layout (icon_view);
+ gtk_icon_view_queue_layout (icon_view);
}
g_object_notify (G_OBJECT (icon_view), "model");
--
1.7.7.1

View File

@ -1,63 +0,0 @@
From 2ea743ab466703091a44a74e1a4ac7db983c0bca Mon Sep 17 00:00:00 2001
From: Rafal Luzynski <digitalfreak@lingonborough.com>
Date: Sat, 10 Feb 2018 14:07:56 +0100
Subject: [PATCH] calendar: Use the new "%OB" format if supported
Due to the recent changes introduced in glibc 2.27 "%OB" is the
correct format to obtain a month name as used in the calendar
header. The same rule has been working in BSD family (including
OS X) since 1990s. This simple hack checks whether "%OB" is supported
at runtime and uses it if it is, falls back to the old "%B" otherwise.
Closes: #9
---
gtk/gtkcalendar.c | 19 +++++++++++++++++--
1 file changed, 17 insertions(+), 2 deletions(-)
diff --git a/gtk/gtkcalendar.c b/gtk/gtkcalendar.c
index 2dd68d6394..28baba16f1 100644
--- a/gtk/gtkcalendar.c
+++ b/gtk/gtkcalendar.c
@@ -689,6 +689,7 @@ gtk_calendar_init (GtkCalendar *calendar)
#ifdef G_OS_WIN32
wchar_t wbuffer[100];
#else
+ static const char *month_format = NULL;
char buffer[255];
time_t tmp_time;
#endif
@@ -714,7 +715,7 @@ gtk_calendar_init (GtkCalendar *calendar)
{
#ifndef G_OS_WIN32
tmp_time= (i+3)*86400;
- strftime ( buffer, sizeof (buffer), "%a", gmtime (&tmp_time));
+ strftime (buffer, sizeof (buffer), "%a", gmtime (&tmp_time));
default_abbreviated_dayname[i] = g_locale_to_utf8 (buffer, -1, NULL, NULL, NULL);
#else
if (!GetLocaleInfoW (GetThreadLocale (), LOCALE_SABBREVDAYNAME1 + (i+6)%7,
@@ -730,7 +731,21 @@ gtk_calendar_init (GtkCalendar *calendar)
{
#ifndef G_OS_WIN32
tmp_time=i*2764800;
- strftime ( buffer, sizeof (buffer), "%B", gmtime (&tmp_time));
+ if (G_UNLIKELY (month_format == NULL))
+ {
+ buffer[0] = '\0';
+ month_format = "%OB";
+ strftime (buffer, sizeof (buffer), month_format, gmtime (&tmp_time));
+ /* "%OB" is not supported in Linux with glibc < 2.27 */
+ if (!strcmp (buffer, "%OB") || !strcmp (buffer, "OB") || !strcmp (buffer, ""))
+ {
+ month_format = "%B";
+ strftime (buffer, sizeof (buffer), month_format, gmtime (&tmp_time));
+ }
+ }
+ else
+ strftime (buffer, sizeof (buffer), month_format, gmtime (&tmp_time));
+
default_monthname[i] = g_locale_to_utf8 (buffer, -1, NULL, NULL, NULL);
#else
if (!GetLocaleInfoW (GetThreadLocale (), LOCALE_SMONTHNAME1 + i,
--
2.20.1

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,23 @@
From 0a0fd5af99f2ae9b0f8cc6b943b98b7be43ed723 Mon Sep 17 00:00:00 2001
From: Michael Natterer <mitch@gimp.org>
Date: Wed, 02 Nov 2011 19:27:39 +0000
Subject: Bug 662633 - Scheduled transaction editor crashes with gtk+-2.24.7
Fix commit a516d2359c9eac84bfa4682a70a62315adedb1d6: check if
priv->arrow_button exists in forall().
---
diff --git a/gtk/gtktoolbar.c b/gtk/gtktoolbar.c
index edeab88..b2c4b15 100644
--- a/gtk/gtktoolbar.c
+++ b/gtk/gtktoolbar.c
@@ -2532,7 +2532,7 @@ gtk_toolbar_forall (GtkContainer *container,
list = next;
}
- if (include_internals)
+ if (include_internals && priv->arrow_button)
callback (priv->arrow_button, callback_data);
}
--
cgit v0.9.0.2

View File

@ -0,0 +1,130 @@
From 0b59fbfb9d677b77b392c0c6d327ddecd7978d89 Mon Sep 17 00:00:00 2001
From: Matthias Clasen <mclasen@redhat.com>
Date: Tue, 5 Jun 2012 17:03:42 -0400
Subject: [PATCH] Allow fallback for input method modules
Accept a :-separated list of module names in GTK_IM_MODULE and
the corresponding setting, to deal a bit better with broken
situations.
https://bugzilla.gnome.org/show_bug.cgi?id=603559
Patch by Akira Tagoh, backported from GTK+ 3. The backport
is required because GTK+ 2 and 3 are listening to the same env
vars and settings for immodules.
---
docs/reference/gtk/running.sgml | 2 ++
gtk/gtkimmodule.c | 49 +++++++++++++++++++++++++++------------
gtk/gtksettings.c | 2 ++
3 files changed, 38 insertions(+), 15 deletions(-)
diff --git a/docs/reference/gtk/running.sgml b/docs/reference/gtk/running.sgml
index 8371832..11fa0d1 100644
--- a/docs/reference/gtk/running.sgml
+++ b/docs/reference/gtk/running.sgml
@@ -264,6 +264,8 @@ additional environment variables.
that enables <literal>XSETTINGS</literal> and has a value in
<literal>Gtk/IMModule</literal>, that will be used for the default
IM module.
+ This also can be a colon-separated list of input-methods, which
+ GTK+ will try in turn until it finds one available on the system.
</para>
</formalpara>
diff --git a/gtk/gtkimmodule.c b/gtk/gtkimmodule.c
index f1da875..f7baa03 100644
--- a/gtk/gtkimmodule.c
+++ b/gtk/gtkimmodule.c
@@ -650,6 +650,26 @@ match_locale (const gchar *locale,
return 0;
}
+static const gchar *
+lookup_immodule (gchar **immodules_list)
+{
+ while (immodules_list && *immodules_list)
+ {
+ if (g_strcmp0 (*immodules_list, SIMPLE_ID) == 0)
+ return SIMPLE_ID;
+ else
+ {
+ GtkIMModule *module;
+ module = g_hash_table_lookup (contexts_hash, *immodules_list);
+ if (module)
+ return module->contexts[0]->context_id;
+ }
+ immodules_list++;
+ }
+
+ return NULL;
+}
+
/**
* _gtk_im_module_get_default_context_id:
* @client_window: a window
@@ -666,7 +686,7 @@ _gtk_im_module_get_default_context_id (GdkWindow *client_window)
const gchar *context_id = NULL;
gint best_goodness = 0;
gint i;
- gchar *tmp_locale, *tmp;
+ gchar *tmp_locale, *tmp, **immodules;
const gchar *envvar;
GdkScreen *screen;
GtkSettings *settings;
@@ -674,11 +694,16 @@ _gtk_im_module_get_default_context_id (GdkWindow *client_window)
if (!contexts_hash)
gtk_im_module_initialize ();
- envvar = g_getenv ("GTK_IM_MODULE");
- if (envvar &&
- (strcmp (envvar, SIMPLE_ID) == 0 ||
- g_hash_table_lookup (contexts_hash, envvar)))
- return envvar;
+ envvar = g_getenv("GTK_IM_MODULE");
+ if (envvar)
+ {
+ immodules = g_strsplit(envvar, ":", 0);
+ context_id = lookup_immodule(immodules);
+ g_strfreev(immodules);
+
+ if (context_id)
+ return context_id;
+ }
/* Check if the certain immodule is set in XSETTINGS.
*/
@@ -689,15 +714,9 @@ _gtk_im_module_get_default_context_id (GdkWindow *client_window)
g_object_get (G_OBJECT (settings), "gtk-im-module", &tmp, NULL);
if (tmp)
{
- if (strcmp (tmp, SIMPLE_ID) == 0)
- context_id = SIMPLE_ID;
- else
- {
- GtkIMModule *module;
- module = g_hash_table_lookup (contexts_hash, tmp);
- if (module)
- context_id = module->contexts[0]->context_id;
- }
+ immodules = g_strsplit(tmp, ":", 0);
+ context_id = lookup_immodule(immodules);
+ g_strfreev(immodules);
g_free (tmp);
if (context_id)
diff --git a/gtk/gtksettings.c b/gtk/gtksettings.c
index f83a54b..c5f77fe 100644
--- a/gtk/gtksettings.c
+++ b/gtk/gtksettings.c
@@ -850,6 +850,8 @@ gtk_settings_class_init (GtkSettingsClass *class)
* Which IM (input method) module should be used by default. This is the
* input method that will be used if the user has not explicitly chosen
* another input method from the IM context menu.
+ * This also can be a colon-separated list of input methods, which GTK+
+ * will try in turn until it finds one available on the system.
*
* See #GtkIMContext and see the #GtkSettings:gtk-show-input-method-menu property.
*/
--
1.7.10.2

271
compose-sequences.patch Normal file
View File

@ -0,0 +1,271 @@
From 4eb82ed9624da58cff9dd6c348b12d35967ae3c3 Mon Sep 17 00:00:00 2001
From: Peter Hutterer <peter.hutterer@who-t.net>
Date: Thu, 22 Oct 2009 15:25:19 +1000
Subject: [PATCH] Update compose sequences
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
---
gtk/gtkimcontextsimple.c | 2 +-
gtk/gtkimcontextsimpleseqs.h | 91 +++++++++++++++++++++++++++--------------
2 files changed, 61 insertions(+), 32 deletions(-)
diff --git a/gtk/gtkimcontextsimple.c b/gtk/gtkimcontextsimple.c
index 62bab7c..f36dcf5 100644
--- a/gtk/gtkimcontextsimple.c
+++ b/gtk/gtkimcontextsimple.c
@@ -61,7 +61,7 @@ struct _GtkComposeTableCompact
static const GtkComposeTableCompact gtk_compose_table_compact = {
gtk_compose_seqs_compact,
5,
- 23,
+ 24,
6
};
diff --git a/gtk/gtkimcontextsimpleseqs.h b/gtk/gtkimcontextsimpleseqs.h
index 9e3fc29..131b3db 100644
--- a/gtk/gtkimcontextsimpleseqs.h
+++ b/gtk/gtkimcontextsimpleseqs.h
@@ -18,10 +18,9 @@
*/
/*
- * File auto-generated from script found at gtk/compose-parse.py, with the --gtk parameter,
+ * File auto-generated from script found at http://bugzilla.gnome.org/show_bug.cgi?id=321896
* using the input files
* Input : http://gitweb.freedesktop.org/?p=xorg/lib/libX11.git;a=blob_plain;f=nls/en_US.UTF-8/Compose.pre
- * Input : http://svn.gnome.org/viewcvs/gtk%2B/trunk/gtk/gtk-compose-lookaside.txt
* Input : http://www.cl.cam.ac.uk/~mgk25/ucs/keysyms.txt
* Input : http://www.unicode.org/Public/UNIDATA/UnicodeData.txt
*
@@ -68,29 +67,30 @@
*/
static const guint16 gtk_compose_seqs_compact[] = {
-GDK_dead_stroke, 138, 226, 235, 235, 235,
-GDK_Greek_accentdieresis, 235, 239, 239, 239, 239,
-GDK_dead_grave, 239, 299, 386, 598, 598,
-GDK_dead_acute, 598, 664, 760, 1036, 1036,
-GDK_dead_circumflex, 1036, 1176, 1176, 1376, 1376,
-GDK_dead_tilde, 1376, 1458, 1521, 1661, 1661,
-GDK_dead_macron, 1661, 1707, 1707, 1779, 1779,
-GDK_dead_breve, 1779, 1833, 1833, 1857, 1857,
-GDK_dead_abovedot, 1857, 1887, 1890, 1922, 1922,
-GDK_dead_diaeresis, 1922, 2010, 2019, 2043, 2043,
-GDK_dead_abovering, 2043, 2053, 2053, 2053, 2053,
-GDK_dead_doubleacute, 2053, 2063, 2063, 2063, 2063,
-GDK_dead_caron, 2063, 2089, 2089, 2097, 2097,
-GDK_dead_cedilla, 2097, 2111, 2111, 2111, 2111,
-GDK_dead_ogonek, 2111, 2121, 2121, 2121, 2121,
-GDK_dead_iota, 2121, 2143, 2242, 2674, 3334,
-GDK_dead_voiced_sound, 3334, 3380, 3380, 3380, 3380,
-GDK_dead_semivoiced_sound, 3380, 3390, 3390, 3390, 3390,
-GDK_dead_belowdot, 3390, 3400, 3400, 3416, 3416,
-GDK_dead_hook, 3416, 3494, 3494, 3550, 3550,
-GDK_dead_psili, 3550, 3578, 3578, 3578, 3578,
-GDK_dead_dasia, 3578, 3610, 3610, 3610, 3610,
-GDK_Multi_key, 3610, 3610, 9589, 13297, 15157,
+GDK_dead_stroke, 144, 232, 241, 241, 241,
+GDK_Greek_accentdieresis, 241, 245, 245, 245, 245,
+GDK_dead_grave, 245, 307, 394, 606, 606,
+GDK_dead_acute, 606, 674, 770, 1046, 1046,
+GDK_dead_circumflex, 1046, 1186, 1186, 1386, 1386,
+GDK_dead_tilde, 1386, 1470, 1533, 1673, 1673,
+GDK_dead_macron, 1673, 1719, 1719, 1791, 1791,
+GDK_dead_breve, 1791, 1845, 1845, 1869, 1869,
+GDK_dead_abovedot, 1869, 1899, 1902, 1934, 1934,
+GDK_dead_diaeresis, 1934, 2022, 2031, 2055, 2055,
+GDK_dead_abovering, 2055, 2065, 2065, 2065, 2065,
+GDK_dead_doubleacute, 2065, 2075, 2075, 2075, 2075,
+GDK_dead_caron, 2075, 2121, 2121, 2129, 2129,
+GDK_dead_cedilla, 2129, 2143, 2143, 2143, 2143,
+GDK_dead_ogonek, 2143, 2153, 2153, 2153, 2153,
+GDK_dead_iota, 2153, 2175, 2274, 2706, 3366,
+GDK_dead_voiced_sound, 3366, 3412, 3412, 3412, 3412,
+GDK_dead_semivoiced_sound, 3412, 3422, 3422, 3422, 3422,
+GDK_dead_belowdot, 3422, 3438, 3438, 3454, 3454,
+GDK_dead_hook, 3454, 3532, 3532, 3588, 3588,
+GDK_dead_horn, 3588, 3598, 3598, 3598, 3598,
+GDK_dead_psili, 3598, 3626, 3626, 3626, 3626,
+GDK_dead_dasia, 3626, 3658, 3658, 3658, 3658,
+GDK_Multi_key, 3658, 3658, 9658, 13366, 15231,
GDK_space, 0x002F,
GDK_2, 0x01BB,
GDK_A, 0x023A,
@@ -143,6 +143,7 @@ GDK_Greek_upsilon, 0x03B0,
GDK_space, 0x0060,
GDK_V, 0x01DB,
GDK_v, 0x01DC,
+GDK_nobreakspace, 0x0300,
GDK_Abreve, 0x1EB0,
GDK_abreve, 0x1EB1,
GDK_Emacron, 0x1E14,
@@ -255,6 +256,7 @@ GDK_Multi_key, GDK_macron, GDK_o, 0x1E51,
GDK_space, 0x0027,
GDK_V, 0x01D7,
GDK_v, 0x01D8,
+GDK_nobreakspace, 0x0301,
GDK_Abreve, 0x1EAE,
GDK_abreve, 0x1EAF,
GDK_Emacron, 0x1E16,
@@ -510,6 +512,7 @@ GDK_space, 0x007E,
GDK_less, 0x2272,
GDK_equal, 0x2243,
GDK_greater, 0x2273,
+GDK_nobreakspace, 0x0303,
GDK_Oacute, 0x1E4C,
GDK_Odiaeresis, 0x1E4E,
GDK_Uacute, 0x1E78,
@@ -769,6 +772,16 @@ GDK_parenleft, 0x208D,
GDK_parenright, 0x208E,
GDK_plus, 0x208A,
GDK_minus, 0x208B,
+GDK_0, 0x2080,
+GDK_1, 0x2081,
+GDK_2, 0x2082,
+GDK_3, 0x2083,
+GDK_4, 0x2084,
+GDK_5, 0x2085,
+GDK_6, 0x2086,
+GDK_7, 0x2087,
+GDK_8, 0x2088,
+GDK_9, 0x2088,
GDK_equal, 0x208C,
GDK_V, 0x01D9,
GDK_v, 0x01DA,
@@ -1103,11 +1116,14 @@ GDK_kana_HI, 0x30D4,
GDK_kana_FU, 0x30D7,
GDK_kana_HE, 0x30DA,
GDK_kana_HO, 0x30DD,
+GDK_space, 0x0323,
GDK_plus, 0x2A25,
GDK_minus, 0x2A2A,
GDK_equal, 0x2A66,
+GDK_nobreakspace, 0x0323,
GDK_Abreve, 0x1EB6,
GDK_abreve, 0x1EB7,
+GDK_dead_belowdot, 0x0323,
GDK_Multi_key, GDK_plus, GDK_O, 0x1EE2,
GDK_Multi_key, GDK_plus, GDK_U, 0x1EF0,
GDK_Multi_key, GDK_plus, GDK_o, 0x1EE3,
@@ -1165,6 +1181,11 @@ GDK_Multi_key, GDK_asciicircum, GDK_e, 0x1EC3,
GDK_Multi_key, GDK_asciicircum, GDK_o, 0x1ED5,
GDK_Multi_key, GDK_b, GDK_A, 0x1EB2,
GDK_Multi_key, GDK_b, GDK_a, 0x1EB3,
+GDK_space, 0x031B,
+GDK_nobreakspace, 0x031B,
+GDK_Utilde, 0x1EEE,
+GDK_utilde, 0x1EEF,
+GDK_dead_horn, 0x031B,
GDK_Greek_ALPHA, 0x1F08,
GDK_Greek_EPSILON, 0x1F18,
GDK_Greek_ETA, 0x1F28,
@@ -1368,7 +1389,7 @@ GDK_apostrophe, GDK_Idiaeresis, 0x1E2E,
GDK_apostrophe, GDK_Ocircumflex, 0x1ED0,
GDK_apostrophe, GDK_Otilde, 0x1E4C,
GDK_apostrophe, GDK_Ooblique, 0x01FE,
-GDK_apostrophe, 0x00DC, 0x01D7,
+GDK_apostrophe, GDK_Udiaeresis, 0x01D7,
GDK_apostrophe, GDK_acircumflex, 0x1EA5,
GDK_apostrophe, GDK_aring, 0x01FB,
GDK_apostrophe, GDK_ae, 0x01FD,
@@ -1529,6 +1550,7 @@ GDK_minus, GDK_parenright, 0x007D,
GDK_minus, GDK_plus, 0x00B1,
GDK_minus, GDK_comma, 0x00AC,
GDK_minus, GDK_colon, 0x00F7,
+GDK_minus, GDK_greater, 0x2192,
GDK_minus, GDK_A, 0x00C3,
GDK_minus, GDK_D, 0x0110,
GDK_minus, GDK_E, 0x0112,
@@ -1603,6 +1625,7 @@ GDK_period, 0x1E62, 0x1E68,
GDK_period, 0x1E63, 0x1E69,
GDK_slash, GDK_slash, 0x005C,
GDK_slash, GDK_less, 0x005C,
+GDK_slash, GDK_equal, 0x2260,
GDK_slash, GDK_C, 0x00A2,
GDK_slash, GDK_D, 0x0110,
GDK_slash, GDK_G, 0x01E4,
@@ -1682,8 +1705,11 @@ GDK_semicolon, GDK_u, 0x0173,
GDK_less, GDK_space, 0x02C7,
GDK_less, GDK_quotedbl, 0x201C,
GDK_less, GDK_apostrophe, 0x2018,
+GDK_less, GDK_minus, 0x2190,
GDK_less, GDK_slash, 0x005C,
+GDK_less, GDK_3, 0x2665,
GDK_less, GDK_less, 0x00AB,
+GDK_less, GDK_equal, 0x2264,
GDK_less, GDK_C, 0x010C,
GDK_less, GDK_D, 0x010E,
GDK_less, GDK_E, 0x011A,
@@ -1703,6 +1729,7 @@ GDK_less, GDK_s, 0x0161,
GDK_less, GDK_t, 0x0165,
GDK_less, GDK_z, 0x017E,
GDK_less, 0x0338, 0x226E,
+GDK_equal, GDK_slash, 0x2260,
GDK_equal, GDK_C, 0x20AC,
GDK_equal, GDK_E, 0x20AC,
GDK_equal, GDK_L, 0x00A3,
@@ -1725,6 +1752,7 @@ GDK_equal, GDK_Cyrillic_U, 0x04F2,
GDK_greater, GDK_space, 0x005E,
GDK_greater, GDK_quotedbl, 0x201D,
GDK_greater, GDK_apostrophe, 0x2019,
+GDK_greater, GDK_equal, 0x2265,
GDK_greater, GDK_greater, 0x00BB,
GDK_greater, GDK_A, 0x00C2,
GDK_greater, GDK_E, 0x00CA,
@@ -2068,7 +2096,7 @@ GDK_underscore, GDK_Adiaeresis, 0x01DE,
GDK_underscore, GDK_AE, 0x01E2,
GDK_underscore, GDK_Otilde, 0x022C,
GDK_underscore, GDK_Odiaeresis, 0x022A,
-GDK_underscore, 0x00DC, 0x01D5,
+GDK_underscore, GDK_Udiaeresis, 0x01D5,
GDK_underscore, GDK_adiaeresis, 0x01DF,
GDK_underscore, GDK_ae, 0x01E3,
GDK_underscore, GDK_otilde, 0x022D,
@@ -2128,7 +2156,7 @@ GDK_grave, GDK_y, 0x1EF3,
GDK_grave, GDK_Acircumflex, 0x1EA6,
GDK_grave, GDK_Ecircumflex, 0x1EC0,
GDK_grave, GDK_Ocircumflex, 0x1ED2,
-GDK_grave, 0x00DC, 0x01DB,
+GDK_grave, GDK_Udiaeresis, 0x01DB,
GDK_grave, GDK_acircumflex, 0x1EA7,
GDK_grave, GDK_ecircumflex, 0x1EC1,
GDK_grave, GDK_ocircumflex, 0x1ED3,
@@ -2279,7 +2307,7 @@ GDK_c, GDK_t, 0x0165,
GDK_c, GDK_u, 0x01D4,
GDK_c, GDK_z, 0x017E,
GDK_c, GDK_bar, 0x00A2,
-GDK_c, 0x00DC, 0x01D9,
+GDK_c, GDK_Udiaeresis, 0x01D9,
GDK_c, GDK_udiaeresis, 0x01DA,
GDK_c, 0x01B7, 0x01EE,
GDK_c, 0x0292, 0x01EF,
@@ -2517,7 +2545,7 @@ GDK_macron, GDK_Adiaeresis, 0x01DE,
GDK_macron, GDK_AE, 0x01E2,
GDK_macron, GDK_Otilde, 0x022C,
GDK_macron, GDK_Odiaeresis, 0x022A,
-GDK_macron, 0x00DC, 0x01D5,
+GDK_macron, GDK_Udiaeresis, 0x01D5,
GDK_macron, GDK_adiaeresis, 0x01DF,
GDK_macron, GDK_ae, 0x01E3,
GDK_macron, GDK_otilde, 0x022D,
@@ -2586,7 +2614,7 @@ GDK_acute, GDK_Idiaeresis, 0x1E2E,
GDK_acute, GDK_Ocircumflex, 0x1ED0,
GDK_acute, GDK_Otilde, 0x1E4C,
GDK_acute, GDK_Ooblique, 0x01FE,
-GDK_acute, 0x00DC, 0x01D7,
+GDK_acute, GDK_Udiaeresis, 0x01D7,
GDK_acute, GDK_acircumflex, 0x1EA5,
GDK_acute, GDK_aring, 0x01FB,
GDK_acute, GDK_ae, 0x01FD,
@@ -4320,6 +4348,7 @@ GDK_parenleft, GDK_KP_4, GDK_KP_7, GDK_parenright, 0x32BC,
GDK_parenleft, GDK_KP_4, GDK_KP_8, GDK_parenright, 0x32BD,
GDK_parenleft, GDK_KP_4, GDK_KP_9, GDK_parenright, 0x32BE,
GDK_parenleft, GDK_KP_5, GDK_KP_0, GDK_parenright, 0x32BF,
+GDK_C, GDK_C, GDK_C, GDK_P, 0x262D,
GDK_Greek_iota, GDK_apostrophe, GDK_parenleft, GDK_Greek_ALPHA, 0x1F8D,
GDK_Greek_iota, GDK_apostrophe, GDK_parenleft, GDK_Greek_ETA, 0x1F9D,
GDK_Greek_iota, GDK_apostrophe, GDK_parenleft, GDK_Greek_OMEGA, 0x1FAD,
--
1.6.5.rc2

76
default_printer.patch Normal file
View File

@ -0,0 +1,76 @@
--- modules/printbackends/cups/gtkprintbackendcups.c 2009-01-01 20:41:58.000000000 +0100
+++ modules/printbackends/cups/gtkprintbackendcups.c 2009-01-21 13:54:39.000000000 +0100
@@ -1103,6 +1103,7 @@ cups_request_printer_list_cb (GtkPrintBa
ipp_t *response;
gboolean list_has_changed;
GList *removed_printer_checklist;
+ gchar *remote_default_printer = NULL;
GDK_THREADS_ENTER ();
@@ -1190,6 +1191,7 @@ cups_request_printer_list_cb (GtkPrintBa
gboolean is_accepting_jobs = TRUE;
gboolean default_printer = FALSE;
gboolean got_printer_type = FALSE;
+ gboolean remote_printer = FALSE;
/* Skip leading attributes until we hit a printer...
*/
@@ -1307,6 +1309,11 @@ cups_request_printer_list_cb (GtkPrintBa
default_printer = TRUE;
else
default_printer = FALSE;
+
+ if (attr->values[0].integer & 0x00000002)
+ remote_printer = TRUE;
+ else
+ remote_printer = FALSE;
}
else
{
@@ -1330,8 +1337,16 @@ cups_request_printer_list_cb (GtkPrintBa
{
if (default_printer && !cups_backend->got_default_printer)
{
- cups_backend->got_default_printer = TRUE;
- cups_backend->default_printer = g_strdup (printer_name);
+ if (!remote_printer)
+ {
+ cups_backend->got_default_printer = TRUE;
+ cups_backend->default_printer = g_strdup (printer_name);
+ }
+ else
+ {
+ if (remote_default_printer == NULL)
+ remote_default_printer = g_strdup (printer_name);
+ }
}
}
else
@@ -1552,6 +1567,26 @@ done:
gtk_print_backend_set_list_done (backend);
+ if (!cups_backend->got_default_printer && remote_default_printer != NULL)
+ {
+ cups_backend->default_printer = g_strdup (remote_default_printer);
+ cups_backend->got_default_printer = TRUE;
+ g_free (remote_default_printer);
+
+ if (cups_backend->default_printer != NULL)
+ {
+ GtkPrinter *default_printer = NULL;
+ default_printer = gtk_print_backend_find_printer (GTK_PRINT_BACKEND (cups_backend),
+ cups_backend->default_printer);
+ if (default_printer != NULL)
+ {
+ gtk_printer_set_is_default (default_printer, TRUE);
+ g_signal_emit_by_name (GTK_PRINT_BACKEND (cups_backend),
+ "printer-status-changed", default_printer);
+ }
+ }
+ }
+
GDK_THREADS_LEAVE ();
}

339
fresh-tooltips.patch Normal file
View File

@ -0,0 +1,339 @@
diff -up gtk+-2.21.1/gtk/gtktooltip.c.fresh-tooltips gtk+-2.21.1/gtk/gtktooltip.c
--- gtk+-2.21.1/gtk/gtktooltip.c.fresh-tooltips 2010-05-30 02:52:44.000000000 -0400
+++ gtk+-2.21.1/gtk/gtktooltip.c 2010-05-30 19:23:06.464923263 -0400
@@ -33,6 +33,10 @@
#include "gtkhbox.h"
#include "gtkalignment.h"
+#ifdef GDK_WINDOWING_X11
+#include "gdk/x11/gdkx.h"
+#endif
+
#include "gtkalias.h"
#undef DEBUG_TOOLTIP
@@ -97,6 +101,7 @@ static void gtk_tooltip_display_cl
GtkTooltip *tooltip);
static void gtk_tooltip_set_last_window (GtkTooltip *tooltip,
GdkWindow *window);
+static void update_shape (GtkTooltip *tooltip);
G_DEFINE_TYPE (GtkTooltip, gtk_tooltip, G_TYPE_OBJECT);
@@ -112,8 +117,43 @@ gtk_tooltip_class_init (GtkTooltipClass
}
static void
+on_composited_changed (GtkWidget *window,
+ GtkTooltip *tooltip)
+{
+ update_shape (tooltip);
+}
+
+static void
+on_screen_changed (GtkWidget *window,
+ GdkScreen *previous,
+ GtkTooltip *tooltip)
+{
+ GdkScreen *screen;
+ GdkColormap *cmap;
+
+ screen = gtk_widget_get_screen (window);
+
+ cmap = NULL;
+ if (gdk_screen_is_composited (screen))
+ cmap = gdk_screen_get_rgba_colormap (screen);
+ if (cmap == NULL)
+ cmap = gdk_screen_get_rgb_colormap (screen);
+
+ gtk_widget_set_colormap (window, cmap);
+}
+
+static void
+on_realized (GtkWidget *window,
+ GtkTooltip *tooltip)
+{
+ update_shape (tooltip);
+}
+
+static void
gtk_tooltip_init (GtkTooltip *tooltip)
{
+ GdkScreen *screen;
+
tooltip->timeout_id = 0;
tooltip->browse_mode_timeout_id = 0;
@@ -129,8 +169,12 @@ gtk_tooltip_init (GtkTooltip *tooltip)
tooltip->last_window = NULL;
tooltip->window = g_object_ref (gtk_window_new (GTK_WINDOW_POPUP));
+
+ on_screen_changed (tooltip->window, NULL, tooltip);
+
gtk_window_set_type_hint (GTK_WINDOW (tooltip->window),
GDK_WINDOW_TYPE_HINT_TOOLTIP);
+
gtk_widget_set_app_paintable (tooltip->window, TRUE);
gtk_window_set_resizable (GTK_WINDOW (tooltip->window), FALSE);
gtk_widget_set_name (tooltip->window, "gtk-tooltip");
@@ -147,7 +191,7 @@ gtk_tooltip_init (GtkTooltip *tooltip)
gtk_widget_show (tooltip->alignment);
g_signal_connect_swapped (tooltip->window, "style-set",
- G_CALLBACK (gtk_tooltip_window_style_set), tooltip);
+ G_CALLBACK (gtk_tooltip_window_style_set), tooltip);
g_signal_connect_swapped (tooltip->window, "expose-event",
G_CALLBACK (gtk_tooltip_paint_window), tooltip);
@@ -164,6 +208,13 @@ gtk_tooltip_init (GtkTooltip *tooltip)
gtk_box_pack_start (GTK_BOX (tooltip->box), tooltip->label,
FALSE, FALSE, 0);
+ g_signal_connect (tooltip->window, "composited-changed",
+ G_CALLBACK (on_composited_changed), tooltip);
+ g_signal_connect (tooltip->window, "screen-changed",
+ G_CALLBACK (on_screen_changed), tooltip);
+ g_signal_connect (tooltip->window, "realize",
+ G_CALLBACK (on_realized), tooltip);
+
tooltip->custom_widget = NULL;
}
@@ -510,19 +561,208 @@ gtk_tooltip_window_style_set (GtkTooltip
gtk_widget_queue_draw (tooltip->window);
}
+static void
+draw_round_rect (cairo_t *cr,
+ gdouble aspect,
+ gdouble x,
+ gdouble y,
+ gdouble corner_radius,
+ gdouble width,
+ gdouble height)
+{
+ gdouble radius = corner_radius / aspect;
+
+ cairo_move_to (cr, x + radius, y);
+
+ /* top-right, left of the corner */
+ cairo_line_to (cr, x + width - radius, y);
+
+ /* top-right, below the corner */
+ cairo_arc (cr,
+ x + width - radius, y + radius, radius,
+ -90.0f * G_PI / 180.0f, 0.0f * G_PI / 180.0f);
+
+ /* bottom-right, above the corner */
+ cairo_line_to (cr, x + width, y + height - radius);
+
+ /* bottom-right, left of the corner */
+ cairo_arc (cr,
+ x + width - radius, y + height - radius, radius,
+ 0.0f * G_PI / 180.0f, 90.0f * G_PI / 180.0f);
+
+ /* bottom-left, right of the corner */
+ cairo_line_to (cr, x + radius, y + height);
+
+ /* bottom-left, above the corner */
+ cairo_arc (cr,
+ x + radius, y + height - radius, radius,
+ 90.0f * G_PI / 180.0f, 180.0f * G_PI / 180.0f);
+
+ /* top-left, below the corner */
+ cairo_line_to (cr, x, y + radius);
+
+ /* top-left, right of the corner */
+ cairo_arc (cr,
+ x + radius, y + radius, radius,
+ 180.0f * G_PI / 180.0f, 270.0f * G_PI / 180.0f);
+
+ cairo_close_path (cr);
+}
+
+static void
+fill_background (GtkWidget *widget,
+ cairo_t *cr)
+{
+ GdkColor color;
+ gdouble r, g, b;
+ gint radius;
+ gdouble background_alpha;
+
+ if (gdk_screen_is_composited (gtk_widget_get_screen (widget)))
+ background_alpha = 0.90;
+ else
+ background_alpha = 1.0;
+
+ radius = MIN (widget->style->xthickness, widget->style->ythickness);
+ radius = MAX (radius, 1);
+
+ cairo_set_operator (cr, CAIRO_OPERATOR_CLEAR);
+ cairo_paint (cr);
+ cairo_set_operator (cr, CAIRO_OPERATOR_OVER);
+
+ draw_round_rect (cr,
+ 1.0, 0.5, 0.5, radius,
+ widget->allocation.width - 1,
+ widget->allocation.height - 1);
+
+ color = widget->style->bg [GTK_STATE_NORMAL];
+ r = (float)color.red / 65535.0;
+ g = (float)color.green / 65535.0;
+ b = (float)color.blue / 65535.0;
+ cairo_set_source_rgba (cr, r, g, b, background_alpha);
+ cairo_fill_preserve (cr);
+
+ color = widget->style->bg [GTK_STATE_SELECTED];
+ r = (float) color.red / 65535.0;
+ g = (float) color.green / 65535.0;
+ b = (float) color.blue / 65535.0;
+
+ cairo_set_source_rgba (cr, r, g, b, background_alpha);
+ cairo_set_line_width (cr, 1.0);
+ cairo_stroke (cr);
+}
+
+static void
+update_shape (GtkTooltip *tooltip)
+{
+ GdkScreen *screen;
+ GdkBitmap *mask;
+ cairo_t *cr;
+ gint width, height;
+ gboolean new_style;
+ gint radius;
+
+ gtk_widget_style_get (tooltip->window, "new-tooltip-style", &new_style, NULL);
+
+ if (!new_style)
+ {
+ gtk_widget_shape_combine_mask (tooltip->window, NULL, 0, 0);
+ return;
+ }
+
+ screen = gtk_widget_get_screen (tooltip->window);
+
+ gtk_window_get_size (GTK_WINDOW (tooltip->window), &width, &height);
+
+ if (gdk_screen_is_composited (screen))
+ {
+ GdkRectangle rect;
+ GdkRegion *region;
+ const char *wm;
+
+ gtk_widget_shape_combine_mask (tooltip->window, NULL, 0, 0);
+#ifdef GDK_WINDOWING_X11
+ /* This is a hack to keep the Metacity compositor from slapping a
+ * non-shaped shadow around the shaped tooltip
+ */
+ if (!gtk_widget_get_mapped (tooltip->window))
+ {
+ wm = gdk_x11_screen_get_window_manager_name (screen);
+ if (g_strcmp0 (wm, "Metacity") == 0)
+ gtk_window_set_type_hint (GTK_WINDOW (tooltip->window),
+ GDK_WINDOW_TYPE_HINT_DND);
+ }
+#endif
+ return;
+ }
+
+ radius = MIN (tooltip->window->style->xthickness,
+ tooltip->window->style->ythickness);
+ radius = MAX (radius, 1);
+ mask = (GdkBitmap *) gdk_pixmap_new (NULL, width, height, 1);
+ cr = gdk_cairo_create (mask);
+ if (cairo_status (cr) == CAIRO_STATUS_SUCCESS)
+ {
+ cairo_set_operator (cr, CAIRO_OPERATOR_CLEAR);
+ cairo_paint (cr);
+
+ cairo_set_operator (cr, CAIRO_OPERATOR_OVER);
+ cairo_set_source_rgb (cr, 1.0, 1.0, 1.0);
+ draw_round_rect (cr, 1.0, 0, 0, radius + 1, width, height);
+ cairo_fill (cr);
+
+ gtk_widget_shape_combine_mask (tooltip->window, mask, 0, 0);
+ }
+ cairo_destroy (cr);
+
+ g_object_unref (mask);
+}
+
static gboolean
gtk_tooltip_paint_window (GtkTooltip *tooltip)
{
- gtk_paint_flat_box (tooltip->window->style,
- tooltip->window->window,
- GTK_STATE_NORMAL,
- GTK_SHADOW_OUT,
- NULL,
- tooltip->window,
- "tooltip",
- 0, 0,
- tooltip->window->allocation.width,
- tooltip->window->allocation.height);
+ gboolean new_style;
+
+ gtk_widget_style_get (tooltip->window, "new-tooltip-style", &new_style, NULL);
+
+ if (new_style)
+ {
+ cairo_t *context;
+ cairo_surface_t *surface;
+ cairo_t *cr;
+
+ context = gdk_cairo_create (tooltip->window->window);
+
+ cairo_set_operator (context, CAIRO_OPERATOR_SOURCE);
+ surface = cairo_surface_create_similar (cairo_get_target (context),
+ CAIRO_CONTENT_COLOR_ALPHA,
+ tooltip->window->allocation.width,
+ tooltip->window->allocation.height);
+ cr = cairo_create (surface);
+
+ fill_background (tooltip->window, cr);
+
+ cairo_destroy (cr);
+ cairo_set_source_surface (context, surface, 0, 0);
+ cairo_paint (context);
+ cairo_surface_destroy (surface);
+ cairo_destroy (context);
+
+ update_shape (tooltip);
+ }
+ else
+ {
+ gtk_paint_flat_box (tooltip->window->style,
+ tooltip->window->window,
+ GTK_STATE_NORMAL,
+ GTK_SHADOW_OUT,
+ NULL,
+ tooltip->window,
+ "tooltip",
+ 0, 0,
+ tooltip->window->allocation.width,
+ tooltip->window->allocation.height);
+ }
return FALSE;
}
diff -up gtk+-2.21.1/gtk/gtkwidget.c.fresh-tooltips gtk+-2.21.1/gtk/gtkwidget.c
--- gtk+-2.21.1/gtk/gtkwidget.c.fresh-tooltips 2010-05-30 02:52:44.000000000 -0400
+++ gtk+-2.21.1/gtk/gtkwidget.c 2010-05-30 19:23:06.475923752 -0400
@@ -2561,6 +2561,14 @@ gtk_widget_class_init (GtkWidgetClass *k
P_("The length of vertical scroll arrows"),
1, G_MAXINT, 16,
GTK_PARAM_READABLE));
+
+ gtk_widget_class_install_style_property (klass,
+ g_param_spec_boolean ("new-tooltip-style",
+ NULL,
+ NULL,
+ FALSE,
+ GTK_PARAM_READABLE));
+
}
static void

22
gtk-lib64.patch Normal file
View File

@ -0,0 +1,22 @@
diff -up gtk+-2.19.1/gtk/gtkrc.c.lib64 gtk+-2.19.1/gtk/gtkrc.c
--- gtk+-2.19.1/gtk/gtkrc.c.lib64 2009-11-26 01:35:50.000000000 -0500
+++ gtk+-2.19.1/gtk/gtkrc.c 2009-11-30 20:54:21.844826383 -0500
@@ -450,7 +450,17 @@ gtk_rc_get_im_module_file (void)
if (im_module_file)
result = g_strdup (im_module_file);
else
- result = g_build_filename (GTK_SYSCONFDIR, "gtk-2.0", "gtk.immodules", NULL);
+ {
+ result = g_build_filename (GTK_SYSCONFDIR, "gtk-2.0", GTK_HOST,
+ "gtk.immodules", NULL);
+ if (!g_file_test (result, G_FILE_TEST_EXISTS))
+ {
+ g_free (result);
+
+ result = g_build_filename (GTK_SYSCONFDIR, "gtk-2.0",
+ "gtk.immodules", NULL);
+ }
+ }
}
return result;

View File

@ -0,0 +1,186 @@
--- gtk+-2.18.3/gtk/gtkprintcontext.c 2009-10-09 07:00:44.000000000 +0200
+++ gtk+-2.18.3/gtk/gtkprintcontext.c 2009-11-05 11:57:31.000000000 +0100
@@ -155,7 +155,6 @@ gtk_print_context_set_cairo_context (Gtk
context->pixels_per_unit_y);
}
-
void
_gtk_print_context_rotate_according_to_orientation (GtkPrintContext *context)
{
@@ -204,6 +203,36 @@ _gtk_print_context_rotate_according_to_o
}
void
+_gtk_print_context_reverse_according_to_orientation (GtkPrintContext *context)
+{
+ cairo_t *cr = context->cr;
+ cairo_matrix_t matrix;
+ gdouble width, height;
+
+ width = gtk_page_setup_get_paper_width (context->page_setup, GTK_UNIT_INCH);
+ width = width * context->surface_dpi_x / context->pixels_per_unit_x;
+ height = gtk_page_setup_get_paper_height (context->page_setup, GTK_UNIT_INCH);
+ height = height * context->surface_dpi_y / context->pixels_per_unit_y;
+
+ switch (gtk_page_setup_get_orientation (context->page_setup))
+ {
+ default:
+ case GTK_PAGE_ORIENTATION_PORTRAIT:
+ case GTK_PAGE_ORIENTATION_LANDSCAPE:
+ break;
+ case GTK_PAGE_ORIENTATION_REVERSE_PORTRAIT:
+ case GTK_PAGE_ORIENTATION_REVERSE_LANDSCAPE:
+ cairo_translate (cr, width, height);
+ cairo_matrix_init (&matrix,
+ -1, 0,
+ 0, -1,
+ 0, 0);
+ cairo_transform (cr, &matrix);
+ break;
+ }
+}
+
+void
_gtk_print_context_translate_into_margin (GtkPrintContext *context)
{
GtkPrintOperationPrivate *priv;
--- gtk+-2.18.3/gtk/gtkprintoperation.c 2009-11-05 12:02:52.000000000 +0100
+++ gtk+-2.18.3/gtk/gtkprintoperation.c 2009-11-05 12:01:40.000000000 +0100
@@ -1960,14 +1960,11 @@ pdf_start_page (GtkPrintOperation *op,
GtkPrintContext *print_context,
GtkPageSetup *page_setup)
{
- GtkPaperSize *paper_size;
cairo_surface_t *surface = op->priv->platform_data;
gdouble w, h;
- paper_size = gtk_page_setup_get_paper_size (page_setup);
-
- w = gtk_paper_size_get_width (paper_size, GTK_UNIT_POINTS);
- h = gtk_paper_size_get_height (paper_size, GTK_UNIT_POINTS);
+ w = gtk_page_setup_get_paper_width (page_setup, GTK_UNIT_POINTS);
+ h = gtk_page_setup_get_paper_height (page_setup, GTK_UNIT_POINTS);
cairo_pdf_surface_set_size (surface, w, h);
}
@@ -2056,7 +2053,7 @@ run_pdf (GtkPrintOperation *op,
priv->manual_reverse = FALSE;
priv->manual_page_set = GTK_PAGE_SET_ALL;
priv->manual_scale = 1.0;
- priv->manual_orientation = TRUE;
+ priv->manual_orientation = FALSE;
priv->manual_number_up = 1;
priv->manual_number_up_layout = GTK_NUMBER_UP_LAYOUT_LEFT_TO_RIGHT_TOP_TO_BOTTOM;
@@ -2400,6 +2397,8 @@ common_render_page (GtkPrintOperation *o
if (priv->manual_orientation)
_gtk_print_context_rotate_according_to_orientation (print_context);
+ else
+ _gtk_print_context_reverse_according_to_orientation (print_context);
if (priv->manual_number_up > 1)
{
@@ -2934,7 +2933,7 @@ print_pages (GtkPrintOperation *op
priv->manual_reverse = gtk_print_settings_get_reverse (priv->print_settings);
priv->manual_page_set = gtk_print_settings_get_page_set (priv->print_settings);
priv->manual_scale = gtk_print_settings_get_scale (priv->print_settings) / 100.0;
- priv->manual_orientation = TRUE;
+ priv->manual_orientation = FALSE;
priv->manual_number_up = gtk_print_settings_get_number_up (priv->print_settings);
priv->manual_number_up_layout = gtk_print_settings_get_number_up_layout (priv->print_settings);
}
--- gtk+-2.18.3/gtk/gtkprintoperation-private.h 2009-10-09 07:00:44.000000000 +0200
+++ gtk+-2.18.3/gtk/gtkprintoperation-private.h 2009-11-05 11:58:07.000000000 +0100
@@ -135,11 +135,12 @@ void _gtk_print_operation_set_status (Gt
/* GtkPrintContext private functions: */
-GtkPrintContext *_gtk_print_context_new (GtkPrintOperation *op);
-void _gtk_print_context_set_page_setup (GtkPrintContext *context,
- GtkPageSetup *page_setup);
-void _gtk_print_context_translate_into_margin (GtkPrintContext *context);
-void _gtk_print_context_rotate_according_to_orientation (GtkPrintContext *context);
+GtkPrintContext *_gtk_print_context_new (GtkPrintOperation *op);
+void _gtk_print_context_set_page_setup (GtkPrintContext *context,
+ GtkPageSetup *page_setup);
+void _gtk_print_context_translate_into_margin (GtkPrintContext *context);
+void _gtk_print_context_rotate_according_to_orientation (GtkPrintContext *context);
+void _gtk_print_context_reverse_according_to_orientation (GtkPrintContext *context);
G_END_DECLS
--- gtk+-2.18.3/gtk/gtkprintoperation-unix.c 2009-11-05 12:02:52.000000000 +0100
+++ gtk+-2.18.3/gtk/gtkprintoperation-unix.c 2009-11-05 12:00:08.000000000 +0100
@@ -109,6 +109,8 @@ unix_start_page (GtkPrintOperation *op,
}
else if (type == CAIRO_SURFACE_TYPE_PDF)
{
+ w = gtk_page_setup_get_paper_width (page_setup, GTK_UNIT_POINTS);
+ h = gtk_page_setup_get_paper_height (page_setup, GTK_UNIT_POINTS);
cairo_pdf_surface_set_size (op_unix->surface, w, h);
}
}
@@ -771,7 +773,6 @@ _gtk_print_operation_platform_backend_cr
{
gchar *filename;
gint fd;
- GtkPaperSize *paper_size;
gdouble w, h;
cairo_surface_t *surface;
static cairo_user_data_key_t key;
@@ -787,9 +788,8 @@ _gtk_print_operation_platform_backend_cr
*target = filename;
- paper_size = gtk_page_setup_get_paper_size (page_setup);
- w = gtk_paper_size_get_width (paper_size, GTK_UNIT_POINTS);
- h = gtk_paper_size_get_height (paper_size, GTK_UNIT_POINTS);
+ w = gtk_page_setup_get_paper_width (page_setup, GTK_UNIT_POINTS);
+ h = gtk_page_setup_get_paper_height (page_setup, GTK_UNIT_POINTS);
*dpi_x = *dpi_y = 72;
surface = cairo_pdf_surface_create_for_stream (write_preview, GINT_TO_POINTER (fd), w, h);
@@ -822,9 +822,8 @@ _gtk_print_operation_platform_backend_re
GtkPaperSize *paper_size;
gdouble w, h;
- paper_size = gtk_page_setup_get_paper_size (page_setup);
- w = gtk_paper_size_get_width (paper_size, GTK_UNIT_POINTS);
- h = gtk_paper_size_get_height (paper_size, GTK_UNIT_POINTS);
+ w = gtk_page_setup_get_paper_width (page_setup, GTK_UNIT_POINTS);
+ h = gtk_page_setup_get_paper_height (page_setup, GTK_UNIT_POINTS);
cairo_pdf_surface_set_size (surface, w, h);
}
--- gtk+-2.18.3/modules/printbackends/file/gtkprintbackendfile.c 2009-10-09 07:00:45.000000000 +0200
+++ gtk+-2.18.3/modules/printbackends/file/gtkprintbackendfile.c 2009-11-05 12:02:32.000000000 +0100
@@ -698,6 +698,7 @@ file_printer_prepare_for_print (GtkPrint
GtkPageSetup *page_setup)
{
gdouble scale;
+ OutputFormat format;
print_job->print_pages = gtk_print_settings_get_print_pages (settings);
print_job->page_ranges = NULL;
@@ -719,7 +720,18 @@ file_printer_prepare_for_print (GtkPrint
print_job->scale = scale/100.0;
print_job->page_set = gtk_print_settings_get_page_set (settings);
- print_job->rotate_to_orientation = TRUE;
+
+ format = format_from_settings (settings);
+ switch (format)
+ {
+ case FORMAT_PDF:
+ print_job->rotate_to_orientation = FALSE;
+ break;
+ case FORMAT_PS:
+ case FORMAT_SVG:
+ print_job->rotate_to_orientation = TRUE;
+ break;
+ }
}
static GList *

36
gtk2-schar.patch Normal file
View File

@ -0,0 +1,36 @@
diff -up gtk+-2.24.7/gdk/gdkmarshalers.c.schar gtk+-2.24.7/gdk/gdkmarshalers.c
--- gtk+-2.24.7/gdk/gdkmarshalers.c.schar 2011-10-17 18:05:32.000000000 -0400
+++ gtk+-2.24.7/gdk/gdkmarshalers.c 2011-10-17 20:07:54.859431530 -0400
@@ -5,7 +5,7 @@
#ifdef G_ENABLE_DEBUG
#define g_marshal_value_peek_boolean(v) g_value_get_boolean (v)
-#define g_marshal_value_peek_char(v) g_value_get_schar (v)
+#define g_marshal_value_peek_char(v) g_value_get_char (v)
#define g_marshal_value_peek_uchar(v) g_value_get_uchar (v)
#define g_marshal_value_peek_int(v) g_value_get_int (v)
#define g_marshal_value_peek_uint(v) g_value_get_uint (v)
diff -up gtk+-2.24.7/gtk/gtkmarshal.c.schar gtk+-2.24.7/gtk/gtkmarshal.c
--- gtk+-2.24.7/gtk/gtkmarshal.c.schar 2011-10-17 20:10:48.682425316 -0400
+++ gtk+-2.24.7/gtk/gtkmarshal.c 2011-10-17 20:10:56.723425027 -0400
@@ -6,7 +6,7 @@
#ifdef G_ENABLE_DEBUG
#define g_marshal_value_peek_boolean(v) g_value_get_boolean (v)
-#define g_marshal_value_peek_char(v) g_value_get_schar (v)
+#define g_marshal_value_peek_char(v) g_value_get_char (v)
#define g_marshal_value_peek_uchar(v) g_value_get_uchar (v)
#define g_marshal_value_peek_int(v) g_value_get_int (v)
#define g_marshal_value_peek_uint(v) g_value_get_uint (v)
diff -up gtk+-2.24.7/gtk/gtkmarshalers.c.schar gtk+-2.24.7/gtk/gtkmarshalers.c
--- gtk+-2.24.7/gtk/gtkmarshalers.c.schar 2011-10-17 18:05:54.000000000 -0400
+++ gtk+-2.24.7/gtk/gtkmarshalers.c 2011-10-17 20:07:54.860431529 -0400
@@ -6,7 +6,7 @@
#ifdef G_ENABLE_DEBUG
#define g_marshal_value_peek_boolean(v) g_value_get_boolean (v)
-#define g_marshal_value_peek_char(v) g_value_get_schar (v)
+#define g_marshal_value_peek_char(v) g_value_get_char (v)
#define g_marshal_value_peek_uchar(v) g_value_get_uchar (v)
#define g_marshal_value_peek_int(v) g_value_get_int (v)
#define g_marshal_value_peek_uint(v) g_value_get_uint (v)

190
gtk2.spec
View File

@ -8,30 +8,27 @@
%define atk_version %{atk_base_version}-2
%define cairo_base_version 1.6.0
%define cairo_version %{cairo_base_version}-1
%define libpng_version 2:1.2.2-16
%define xrandr_version 1.2.99.4-2
%define gobject_introspection_version 0.9.3
%define gir_repository_version 0.6.5-5
%define bin_version 2.10.0
# Filter provides for private modules
%global __provides_exclude_from ^%{_libdir}/gtk-2.0
Summary: GTK+ graphical user interface library
Summary: The GIMP ToolKit (GTK+), a library for creating GUIs for X
Name: gtk2
Version: 2.24.32
Release: 7%{?dist}
Version: 2.24.28
Release: 1%{?dist}
License: LGPLv2+
Group: System Environment/Libraries
URL: http://www.gtk.org
#VCS: git:git://git.gnome.org/gtk+#gtk-2-24
Source: http://download.gnome.org/sources/gtk+/2.24/gtk+-%{version}.tar.xz
Source: http://download.gnome.org/sources/gtk+/2.24/gtk+-%{version}.tar.bz2
Source2: update-gtk-immodules
Source3: im-cedilla.conf
Source4: update-gtk-immodules.1
# Use Python 3 in gtk-builder-convert
# Accepted upstream: https://gitlab.gnome.org/GNOME/gtk/merge_requests/1080
Patch1: python3.patch
Patch1: system-python.patch
# https://bugzilla.gnome.org/show_bug.cgi?id=583273
Patch2: icon-padding.patch
# https://bugzilla.gnome.org/show_bug.cgi?id=599618
@ -39,34 +36,30 @@ Patch8: tooltip-positioning.patch
# https://bugzilla.gnome.org/show_bug.cgi?id=611313
Patch15: window-dragging.patch
# Backported from upstream:
Patch20: 0001-calendar-Use-the-new-OB-format-if-supported.patch
Patch21: 0001-Fix-compiler-warnings-with-GCC-8.1.patch
BuildRequires: pkgconfig(atk) >= %{atk_version}
BuildRequires: pkgconfig(glib-2.0) >= %{glib2_version}
BuildRequires: pkgconfig(gobject-introspection-1.0) >= %{gobject_introspection_version}
BuildRequires: pkgconfig(cairo)
BuildRequires: pkgconfig(gdk-pixbuf-2.0)
BuildRequires: pkgconfig(pango) >= %{pango_version}
BuildRequires: pkgconfig(xi)
BuildRequires: pkgconfig(xrandr)
BuildRequires: pkgconfig(xrender)
BuildRequires: pkgconfig(xcursor)
BuildRequires: pkgconfig(xfixes)
BuildRequires: pkgconfig(xinerama)
BuildRequires: pkgconfig(xcomposite)
BuildRequires: pkgconfig(xdamage)
BuildRequires: atk-devel >= %{atk_version}
BuildRequires: glib2-devel >= %{glib2_version}
BuildRequires: cairo-devel
BuildRequires: gdk-pixbuf2-devel
BuildRequires: pango-devel >= %{pango_version}
BuildRequires: libtiff-devel
BuildRequires: libjpeg-devel
BuildRequires: jasper-devel
BuildRequires: libXi-devel
BuildRequires: libpng-devel >= %{libpng_version}
BuildRequires: gettext
BuildRequires: cups-devel
# For setting shebang of gtk-builder-convert:
BuildRequires: python3-devel
BuildRequires: cairo-devel >= %{cairo_version}
BuildRequires: libXrandr-devel >= %{xrandr_version}
BuildRequires: libXrender-devel
BuildRequires: libXcursor-devel
BuildRequires: libXfixes-devel
BuildRequires: libXinerama-devel
BuildRequires: libXcomposite-devel
BuildRequires: libXdamage-devel
BuildRequires: gobject-introspection-devel >= %{gobject_introspection_version}
# Bootstrap requirements
BuildRequires: gtk-doc
BuildRequires: automake
BuildRequires: autoconf
BuildRequires: libtool
BuildRequires: pkgconfig
BuildRequires: automake autoconf libtool pkgconfig
# Conflicts with packages containing theme engines
# built against the 2.4.0 ABI
@ -79,16 +72,12 @@ Obsoletes: gail < 2.13.0-1
# required for icon theme apis to work
Requires: hicolor-icon-theme
# built as a subpackage of gtk3
Requires: gtk-update-icon-cache
# required to support all the different image formats
Requires: gdk-pixbuf2-modules%{?_isa}
Requires: glib2 >= %{glib2_version}
Requires: atk >= %{atk_version}
Requires: pango >= %{pango_version}
# We need to prereq these so we can run gdk-pixbuf-query-loaders
# We need to prereq these so we can run gtk-query-immodules-2.0
Requires(post): glib2 >= %{glib2_version}
Requires(post): atk >= %{atk_version}
Requires(post): pango >= %{pango_version}
# and these for gdk-pixbuf-query-loaders
Requires(post): libtiff >= 3.6.1
Requires: libXrandr >= %{xrandr_version}
@ -100,6 +89,7 @@ suites.
%package immodules
Summary: Input methods for GTK+
Group: System Environment/Libraries
Requires: gtk2 = %{version}-%{release}
# for /etc/X11/xinit/xinput.d
Requires: imsettings
@ -110,6 +100,7 @@ as part of GTK+.
%package immodule-xim
Summary: XIM support for GTK+
Group: System Environment/Libraries
Requires: gtk2 = %{version}-%{release}
%description immodule-xim
@ -117,6 +108,7 @@ The gtk2-immodule-xim package contains XIM support for GTK+.
%package devel
Summary: Development files for GTK+
Group: Development/Libraries
Requires: gtk2 = %{version}-%{release}
Requires: pango-devel >= %{pango_version}
Requires: atk-devel >= %{atk_version}
@ -126,6 +118,7 @@ Requires: cairo-devel >= %{cairo_version}
Requires: libX11-devel, libXcursor-devel, libXinerama-devel
Requires: libXext-devel, libXi-devel, libXrandr-devel
Requires: libXfixes-devel, libXcomposite-devel
Requires: libpng-devel
Requires: pkgconfig
Provides: gail-devel = %{version}-%{release}
@ -139,6 +132,7 @@ package.
%package devel-docs
Summary: Developer documentation for GTK+
Group: Development/Libraries
Requires: gtk2 = %{version}-%{release}
#BuildArch: noarch
@ -146,13 +140,17 @@ Requires: gtk2 = %{version}-%{release}
This package contains developer documentation for the GTK+ widget toolkit.
%prep
%autosetup -n gtk+-%{version} -p1
%setup -q -n gtk+-%{version}
%patch1 -p1 -b .system-python
%patch2 -p1 -b .icon-padding
%patch8 -p1 -b .tooltip-positioning
%patch15 -p1 -b .window-dragging
%build
export CFLAGS='-fno-strict-aliasing %optflags'
(if ! test -x configure; then NOCONFIGURE=1 ./autogen.sh; CONFIGFLAGS=--enable-gtk-doc; fi;
%configure $CONFIGFLAGS \
--enable-man \
--enable-man \
--with-xinput=xfree \
--enable-debug \
)
@ -223,7 +221,7 @@ done
# for places where we have two copies of the GTK+ package installed.
# (we might have x86_64 and i686 packages on the same system, for example.)
case "$host" in
alpha*|ia64*|ppc64*|powerpc64*|s390x*|x86_64*|aarch64*|mips64*)
alpha*|ia64*|ppc64*|powerpc64*|s390x*|x86_64*|aarch64*)
mv $RPM_BUILD_ROOT%{_bindir}/gtk-query-immodules-2.0 $RPM_BUILD_ROOT%{_bindir}/gtk-query-immodules-2.0-64
;;
*)
@ -238,15 +236,10 @@ cp %{SOURCE2} $RPM_BUILD_ROOT%{_bindir}/update-gtk-immodules
mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/X11/xinit/xinput.d
cp %{SOURCE3} $RPM_BUILD_ROOT%{_sysconfdir}/X11/xinit/xinput.d
# Use python3 shebang instead of ambiguous python
pathfix.py -pn -i %{__python3} $RPM_BUILD_ROOT%{_bindir}/gtk-builder-convert
# Remove unpackaged files
rm $RPM_BUILD_ROOT%{_libdir}/*.la
rm $RPM_BUILD_ROOT%{_libdir}/gtk-2.0/*/*.la
rm $RPM_BUILD_ROOT%{_libdir}/gtk-2.0/%{bin_version}/*/*.la
rm $RPM_BUILD_ROOT%{_bindir}/gtk-update-icon-cache
rm $RPM_BUILD_ROOT%{_mandir}/man1/gtk-update-icon-cache.1*
touch $RPM_BUILD_ROOT%{_libdir}/gtk-2.0/%{bin_version}/immodules.cache
@ -255,19 +248,33 @@ mkdir -p $RPM_BUILD_ROOT%{_libdir}/gtk-2.0/immodules
mkdir -p $RPM_BUILD_ROOT%{_libdir}/gtk-2.0/%{bin_version}/filesystems
%transfiletriggerin -- %{_libdir}/gtk-2.0/immodules/ %{_libdir}/gtk-2.0/%{bin_version}/immodules/
%post
/sbin/ldconfig
gtk-query-immodules-2.0-%{__isa_bits} --update-cache
%transfiletriggerpostun -- %{_libdir}/gtk-2.0/immodules/ %{_libdir}/gtk-2.0/%{bin_version}/immodules/
%post immodules
gtk-query-immodules-2.0-%{__isa_bits} --update-cache
%ldconfig_scriptlets
%post immodule-xim
gtk-query-immodules-2.0-%{__isa_bits} --update-cache
%postun
/sbin/ldconfig
if [ $1 -gt 0 ]; then
gtk-query-immodules-2.0-%{__isa_bits} --update-cache
fi
%postun immodules
gtk-query-immodules-2.0-%{__isa_bits} --update-cache
%postun immodule-xim
gtk-query-immodules-2.0-%{__isa_bits} --update-cache
%files -f gtk20.lang
%license COPYING
%doc AUTHORS NEWS README
%doc AUTHORS COPYING NEWS README
%{_bindir}/gtk-query-immodules-2.0*
%{_bindir}/update-gtk-immodules
%{_bindir}/gtk-update-icon-cache
%{_libdir}/libgtk-x11-2.0.so.*
%{_libdir}/libgdk-x11-2.0.so.*
%{_libdir}/libgailutil.so.*
@ -287,6 +294,7 @@ gtk-query-immodules-2.0-%{__isa_bits} --update-cache
%{_libdir}/girepository-1.0
%{_mandir}/man1/gtk-query-immodules-2.0*
%{_mandir}/man1/update-gtk-immodules.1.gz
%{_mandir}/man1/gtk-update-icon-cache.1.gz
%files immodules
%{_libdir}/gtk-2.0/%{bin_version}/immodules/im-am-et.so
@ -320,83 +328,19 @@ gtk-query-immodules-2.0-%{__isa_bits} --update-cache
%files devel-docs
%{_datadir}/gtk-doc
# oops, man pages went missing
# %{_mandir}/man1/*
%doc tmpdocs/tutorial
%doc tmpdocs/faq
%doc tmpdocs/examples
%changelog
* Wed Jan 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 2.24.32-7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
* Tue Sep 03 2019 Petr Viktorin <pviktori@redhat.com> - 2.24.32-6
- Port gtk2-devel's gtk-builder-convert to Python 3
https://gitlab.gnome.org/GNOME/gtk/merge_requests/1080
https://bugzilla.redhat.com/show_bug.cgi?id=1737988
* Thu Jul 25 2019 Fedora Release Engineering <releng@fedoraproject.org> - 2.24.32-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
* Sun Jan 27 2019 Kalev Lember <klember@redhat.com> - 2.24.32-4
- Backport two fixes from upstream (#1669768)
- calendar: Use the new "%OB" format if supported
- Fix compiler warnings with GCC 8.1
* Fri Jul 13 2018 Fedora Release Engineering <releng@fedoraproject.org> - 2.24.32-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
* Wed Feb 07 2018 Fedora Release Engineering <releng@fedoraproject.org> - 2.24.32-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
* Tue Jan 09 2018 Kalev Lember <klember@redhat.com> - 2.24.32-1
- Update to 2.24.32
* Wed Aug 02 2017 Fedora Release Engineering <releng@fedoraproject.org> - 2.24.31-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
* Wed Jul 26 2017 Fedora Release Engineering <releng@fedoraproject.org> - 2.24.31-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
* Wed Jun 21 2017 Kalev Lember <klember@redhat.com> - 2.24.31-4
- Filter provides for private modules
- Update package summary
* Fri Feb 10 2017 Fedora Release Engineering <releng@fedoraproject.org> - 2.24.31-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
* Thu Sep 15 2016 Michal Toman <mtoman@fedoraproject.org> - 2.24.31-2
- Use gtk-query-immodules-2.0-64 on 64-bit MIPS
* Sun Sep 11 2016 Kalev Lember <klember@redhat.com> - 2.24.31-1
- Update to 2.24.31
* Tue Jul 5 2016 Ville Skyttä <ville.skytta@iki.fi> - 2.24.30-2
- Add gtk-query-immodules-2.0 file triggers
* Mon Mar 07 2016 Kalev Lember <klember@redhat.com> - 2.24.30-1
- Update to 2.24.30
* Wed Feb 03 2016 Fedora Release Engineering <releng@fedoraproject.org> - 2.24.29-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
* Fri Dec 11 2015 Kalev Lember <klember@redhat.com> - 2.24.29-1
- Update to 2.24.29
* Wed Jun 17 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.24.28-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
* Wed May 13 2015 Matthias Clasen <mclasen@redhat.com> - 2.24.28-1
- Update to 2.24.28
* Fri Mar 20 2015 Richard Hughes <rhughes@redhat.com> - 2.24.27-2
- Depend on gdk-pixbuf2-modules as this is now an optional subpackage
* Tue Mar 3 2015 Matthias Clasen <mclasen@redhat.com> - 2.24.27-1
- Update to 2.24.27
* Sat Feb 21 2015 Till Maas <opensource@till.name> - 2.24.26-2
- Rebuilt for Fedora 23 Change
https://fedoraproject.org/wiki/Changes/Harden_all_packages_with_position-independent_code
* Thu Feb 19 2015 Matthias Clasen <mclasen@redhat.com> - 2.24.26-1
- Update to 2.24.26

34
lower-gi-deps.patch Normal file
View File

@ -0,0 +1,34 @@
From 62c2b4f529334b57323287c8bd04022eaf963ce6 Mon Sep 17 00:00:00 2001
From: Colin Walters <walters@verbum.org>
Date: Wed, 15 Sep 2010 19:13:05 +0000
Subject: introspection: Only use 0.9.3 API
---
diff --git a/configure.in b/configure.in
index 63331c4..bf109d9 100644
--- a/configure.in
+++ b/configure.in
@@ -1565,7 +1565,7 @@ fi
# GObject introspection
##################################################
-GOBJECT_INTROSPECTION_CHECK([0.9.5])
+GOBJECT_INTROSPECTION_CHECK([0.9.3])
##################################################
# Checks for gtk-doc and docbook-tools
diff --git a/gdk/Makefile.am b/gdk/Makefile.am
index c8b2102..06de1a4 100644
--- a/gdk/Makefile.am
+++ b/gdk/Makefile.am
@@ -238,7 +238,7 @@ x11_introspection_files = \
x11/gdkx.h
GdkX11-2.0.gir: $(gdktargetlib) Gdk-2.0.gir Makefile
-GdkX11_2_0_gir_SCANNERFLAGS = --warn-all --identifier-prefix=Gdk --symbol-prefix=gdk
+GdkX11_2_0_gir_SCANNERFLAGS = --warn-all --strip-prefix=Gdk
GdkX11_2_0_gir_INCLUDES = Gio-2.0 Gdk-2.0 GdkPixbuf-2.0 Pango-1.0 xlib-2.0
GdkX11_2_0_gir_LIBS = $(gdktargetlib)
GdkX11_2_0_gir_FILES = $(x11_introspection_files)
--
cgit v0.8.3.1

View File

@ -1,170 +0,0 @@
Uupstream pull request: https://gitlab.gnome.org/GNOME/gtk/merge_requests/1080
From 3ff8f70b9686205f0618d7a479fd42a457b90165 Mon Sep 17 00:00:00 2001
From: Petr Viktorin <encukou@gmail.com>
Date: Tue, 3 Sep 2019 13:54:49 +0200
Subject: [PATCH 1/3] Make gtk-builder-convert compatible with Python 3
- Convert tabs to spaces
- Use print as a function, even on Python 2
- Output a binary file, or decode for stdout
---
gtk/gtk-builder-convert | 25 ++++++++++++++-----------
1 file changed, 14 insertions(+), 11 deletions(-)
diff --git a/gtk/gtk-builder-convert b/gtk/gtk-builder-convert
index ea737de195..41f7a8c941 100755
--- a/gtk/gtk-builder-convert
+++ b/gtk/gtk-builder-convert
@@ -36,6 +36,7 @@ Examples:
Report bugs to http://bugzilla.gnome.org/."""
+from __future__ import print_function
import getopt
import os
import sys
@@ -259,7 +260,7 @@ class GtkBuilderConverter(object):
for node in objects:
self._convert(node.getAttribute("class"), node)
if self._get_object(node.getAttribute('id')) is not None:
- print "WARNING: duplicate id \"" + node.getAttribute('id') + "\""
+ print("WARNING: duplicate id \"" + node.getAttribute('id') + "\"")
self.objects[node.getAttribute('id')] = node
# Convert Gazpachos UI tag
@@ -277,8 +278,7 @@ class GtkBuilderConverter(object):
# reverse=True):
# when we can depend on python 2.4 or higher
root_objects = self.root_objects[:]
- root_objects.sort(lambda a, b: cmp(b.getAttribute('id'),
- a.getAttribute('id')))
+ root_objects.sort(key=lambda a: a.getAttribute('id'), reverse=True)
for obj in root_objects:
self._interface.childNodes.insert(0, obj)
@@ -461,8 +461,8 @@ class GtkBuilderConverter(object):
if signal_name in ['activate', 'toggled']:
action.appendChild(signal)
else:
- print 'Unhandled signal %s::%s' % (node.getAttribute('class'),
- signal_name)
+ print('Unhandled signal %s::%s' % (node.getAttribute('class'),
+ signal_name))
if not uimgr.childNodes:
child = self._dom.createElement('child')
@@ -481,8 +481,8 @@ class GtkBuilderConverter(object):
for accelerator in get_accelerator_nodes(node):
signal_name = accelerator.getAttribute('signal')
if signal_name != 'activate':
- print 'Unhandled accelerator signal for %s::%s' % (
- node.getAttribute('class'), signal_name)
+ print('Unhandled accelerator signal for %s::%s' % (
+ node.getAttribute('class'), signal_name))
continue
accelerator.removeAttribute('signal')
child.appendChild(accelerator)
@@ -747,7 +747,7 @@ def _indent(output):
return s.stdout.read()
def usage():
- print __doc__
+ print(__doc__)
def main(args):
try:
@@ -788,10 +788,13 @@ def main(args):
xml = _indent(conv.to_xml())
if output_filename == "-":
- print xml
+ if isinstance(xml, str):
+ print(xml)
+ else:
+ print(xml.decode(sys.stdout.encoding))
else:
- open(output_filename, 'w').write(xml)
- print "Wrote", output_filename
+ open(output_filename, 'wb').write(xml)
+ print("Wrote", output_filename)
return 0
--
2.22.0
From 4f8efe3ae09ee69657b83399a118b5252f25d830 Mon Sep 17 00:00:00 2001
From: Petr Viktorin <encukou@gmail.com>
Date: Tue, 3 Sep 2019 14:53:05 +0200
Subject: [PATCH 2/3] gtk-builder-convert: Remove compat code for Python 2.3
and below
---
gtk/gtk-builder-convert | 13 +------------
1 file changed, 1 insertion(+), 12 deletions(-)
diff --git a/gtk/gtk-builder-convert b/gtk/gtk-builder-convert
index 41f7a8c941..a16f83b217 100755
--- a/gtk/gtk-builder-convert
+++ b/gtk/gtk-builder-convert
@@ -48,12 +48,7 @@ DIALOGS = ['GtkDialog',
'GtkMessageDialog']
WINDOWS = ['GtkWindow'] + DIALOGS
-# The subprocess is only available in Python 2.4+
-try:
- import subprocess
- subprocess # pyflakes
-except ImportError:
- subprocess = None
+import subprocess
def get_child_nodes(node):
assert node.tagName == 'object'
@@ -271,12 +266,6 @@ class GtkBuilderConverter(object):
for node in self._dom.getElementsByTagName("accessibility"):
self._convert_accessibility(node)
- # Output the newly created root objects and sort them
- # by attribute id
- # FIXME: Use sorted(self.root_objects,
- # key=lambda n: n.getAttribute('id'),
- # reverse=True):
- # when we can depend on python 2.4 or higher
root_objects = self.root_objects[:]
root_objects.sort(key=lambda a: a.getAttribute('id'), reverse=True)
for obj in root_objects:
--
2.22.0
From b5ea5a0cf1f12be5072b9f06d1127a8977414916 Mon Sep 17 00:00:00 2001
From: Petr Viktorin <encukou@gmail.com>
Date: Tue, 3 Sep 2019 14:56:14 +0200
Subject: [PATCH 3/3] gtk-builder-convert: Update bug report URL
Also, use a newline instead of period at the end to make the
URL easy to copy
---
gtk/gtk-builder-convert | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/gtk/gtk-builder-convert b/gtk/gtk-builder-convert
index a16f83b217..b1faba822e 100755
--- a/gtk/gtk-builder-convert
+++ b/gtk/gtk-builder-convert
@@ -34,7 +34,8 @@ When OUTPUT is -, write to standard output.
Examples:
gtk-builder-convert preference.glade preferences.ui
-Report bugs to http://bugzilla.gnome.org/."""
+Report bugs to https://gitlab.gnome.org/GNOME/gtk/issues/new
+"""
from __future__ import print_function
import getopt
--
2.22.0

View File

@ -1 +1 @@
SHA512 (gtk+-2.24.32.tar.xz) = 8e8fd9ae32f1d6fb544da260f00599f0f05090d910d767b06ef086ab4f1f8373a29bb0da9767761c9b5f4cfd51b5c45d0fa5d39b0428c839ddf0a579df806696
1065b2f8d88b67754545a96f3af815e1 gtk+-2.24.28.tar.bz2

9
system-python.patch Normal file
View File

@ -0,0 +1,9 @@
diff -up gtk+-2.18.2/gtk/gtk-builder-convert.system-python gtk+-2.18.2/gtk/gtk-builder-convert
--- gtk+-2.18.2/gtk/gtk-builder-convert.system-python 2009-10-13 15:59:50.423385098 -0400
+++ gtk+-2.18.2/gtk/gtk-builder-convert 2009-10-13 16:00:31.876142050 -0400
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#!/usr/bin/python
#
# Copyright (C) 2006-2008 Async Open Source
# Henrique Romano <henrique@async.com.br>

View File

@ -5,7 +5,7 @@ diff -up gtk+-2.24.7/gtk/gtkmenushell.c.window-dragging gtk+-2.24.7/gtk/gtkmenus
if (!menu_shell->active || !menu_shell->button)
{
- gtk_menu_shell_activate (menu_shell);
- _gtk_menu_shell_activate (menu_shell);
+ gboolean initially_active = menu_shell->active;
menu_shell->button = event->button;
@ -22,7 +22,7 @@ diff -up gtk+-2.24.7/gtk/gtkmenushell.c.window-dragging gtk+-2.24.7/gtk/gtkmenus
{
- menu_shell->activate_time = event->time;
- gtk_menu_shell_select_item (menu_shell, menu_item);
+ gtk_menu_shell_activate (menu_shell);
+ _gtk_menu_shell_activate (menu_shell);
+ menu_shell->button = event->button;
+
+ if (GTK_MENU_SHELL_GET_CLASS (menu_shell)->submenu_placement == GTK_TOP_BOTTOM)