From 77ad7d52b4d177545f1a4941e1f48d3d40c36718 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adrian=20Schr=C3=B6ter?= Date: Wed, 25 Sep 2024 16:03:35 +0200 Subject: [PATCH] Sync from SUSE:ALP:Source:Standard:1.0 gtk2 revision 8301b90470a94021c4e70660fc961018 --- .gitattributes | 23 + CVE-2024-6655.patch | 35 + README.SUSE | 32 + _service | 19 + baselibs.conf | 106 + ...3-gtk+-2.8.9-localize-font-style-name.diff | 48 + gtk-2.24.33.tar.xz | 3 + gtk-path-local.patch | 78 + gtk2-GTK_PATH64.patch | 13 + ...625202-30-bit-drawables-remain-black.patch | 84 + ...166-remember-printing-authentication.patch | 1566 +++++++ ...async-selection-in-gtk-font-selection.diff | 267 ++ gtk2-default-printer.patch | 24 + gtk2-rpmlintrc | 5 + gtk2-updateiconcache_sort.patch | 97 + gtk2.changes | 4013 +++++++++++++++++ gtk2.spec | 590 +++ gtkrc | 11 + macros.gtk2 | 35 + 19 files changed, 7049 insertions(+) create mode 100644 .gitattributes create mode 100644 CVE-2024-6655.patch create mode 100644 README.SUSE create mode 100644 _service create mode 100644 baselibs.conf create mode 100644 bugzilla-129753-gtk+-2.8.9-localize-font-style-name.diff create mode 100644 gtk-2.24.33.tar.xz create mode 100644 gtk-path-local.patch create mode 100644 gtk2-GTK_PATH64.patch create mode 100644 gtk2-bgo625202-30-bit-drawables-remain-black.patch create mode 100644 gtk2-bgo743166-remember-printing-authentication.patch create mode 100644 gtk2-bnc130159-bgo319483-async-selection-in-gtk-font-selection.diff create mode 100644 gtk2-default-printer.patch create mode 100644 gtk2-rpmlintrc create mode 100644 gtk2-updateiconcache_sort.patch create mode 100644 gtk2.changes create mode 100644 gtk2.spec create mode 100644 gtkrc create mode 100644 macros.gtk2 diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..fecc750 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,23 @@ +## Default LFS +*.7z filter=lfs diff=lfs merge=lfs -text +*.bsp filter=lfs diff=lfs merge=lfs -text +*.bz2 filter=lfs diff=lfs merge=lfs -text +*.gem filter=lfs diff=lfs merge=lfs -text +*.gz filter=lfs diff=lfs merge=lfs -text +*.jar filter=lfs diff=lfs merge=lfs -text +*.lz filter=lfs diff=lfs merge=lfs -text +*.lzma filter=lfs diff=lfs merge=lfs -text +*.obscpio filter=lfs diff=lfs merge=lfs -text +*.oxt filter=lfs diff=lfs merge=lfs -text +*.pdf filter=lfs diff=lfs merge=lfs -text +*.png filter=lfs diff=lfs merge=lfs -text +*.rpm filter=lfs diff=lfs merge=lfs -text +*.tbz filter=lfs diff=lfs merge=lfs -text +*.tbz2 filter=lfs diff=lfs merge=lfs -text +*.tgz filter=lfs diff=lfs merge=lfs -text +*.ttf filter=lfs diff=lfs merge=lfs -text +*.txz filter=lfs diff=lfs merge=lfs -text +*.whl filter=lfs diff=lfs merge=lfs -text +*.xz filter=lfs diff=lfs merge=lfs -text +*.zip filter=lfs diff=lfs merge=lfs -text +*.zst filter=lfs diff=lfs merge=lfs -text diff --git a/CVE-2024-6655.patch b/CVE-2024-6655.patch new file mode 100644 index 0000000..6f335dc --- /dev/null +++ b/CVE-2024-6655.patch @@ -0,0 +1,35 @@ +From: Matthias Clasen +Date: Sat, 15 Jun 2024 14:18:01 -0400 +Subject: Stop looking for modules in cwd + +This is just not a good idea. It is surprising, and can be misused. + +Fixes: https://gitlab.gnome.org/GNOME/gtk/-/issues/6786 +(cherry picked from commit 3bbf0b6176d42836d23c36a6ac410e807ec0a7a7) + +Origin: gtk 3.24.43 +--- + gtk/gtkmodules.c | 9 ++------- + 1 file changed, 2 insertions(+), 7 deletions(-) + +diff --git a/gtk/gtkmodules.c b/gtk/gtkmodules.c +index 50729b6..c0f0c30 100644 +--- a/gtk/gtkmodules.c ++++ b/gtk/gtkmodules.c +@@ -229,13 +229,8 @@ find_module (const gchar *name) + gchar *module_name; + + module_name = _gtk_find_module (name, "modules"); +- if (!module_name) +- { +- /* As last resort, try loading without an absolute path (using system +- * library path) +- */ +- module_name = g_module_build_path (NULL, name); +- } ++ if (module_name == NULL) ++ return NULL; + + module = g_module_open (module_name, G_MODULE_BIND_LOCAL | G_MODULE_BIND_LAZY); + + diff --git a/README.SUSE b/README.SUSE new file mode 100644 index 0000000..e2e9318 --- /dev/null +++ b/README.SUSE @@ -0,0 +1,32 @@ +README for bi-architecture 64 bit platforms users +================================================= + +Current version of GTK+ has a problem running 32 and 64 version on +single machine. See http://bugzilla.gnome.org/show_bug.cgi?id=129540 and +http://bugzilla.gnome.org/show_bug.cgi?id=153848 for more information. + +To work around this problem, 64 bit version for SUSE Linux uses special +names for following files: + +/usr/bin/gtk-query-immodules-2.0: /usr/bin/gtk-query-immodules-2.0-64 +/etc/gtk-2.0/gtk.immodules: /usr/gtk-2.0/gtk.immodules64 + +And following variable: + +$GTK_PATH: $GTK_PATH64 + +This can cause problems during self-compilation of packages. + +To work-around these problems (introduced by this work-around), you +should: + +Either: + +- Make a patch of package (please do not send it to package +developers, it's temporary solution). + +Or: + +- Install 32 bit version of GTK+. + +These problems should be correctly solved in GTK+ sometimes in future. diff --git a/_service b/_service new file mode 100644 index 0000000..6d1398f --- /dev/null +++ b/_service @@ -0,0 +1,19 @@ + + + + https://gitlab.gnome.org/GNOME/gtk.git + git + gtk-2-24 + @PARENT_TAG@+@TAG_OFFSET@ + (.*)\+0 + \1 + + + + *.tar + xz + + + diff --git a/baselibs.conf b/baselibs.conf new file mode 100644 index 0000000..d102243 --- /dev/null +++ b/baselibs.conf @@ -0,0 +1,106 @@ +gtk2-devel + requires -gtk2- + requires "libgtk-2_0-0- = " +gtk2-tools + +/usr/bin/gtk-query-immodules-2.0(-64)? + post "%if "%_lib" == "lib64"" + post "if [ $1 = 1 ]; then test -d %{_libdir}/gtk-2.0/2.10.0; if test $? -eq 0; then %{_bindir}/gtk-query-immodules-2.0-64 --update-cache; fi; fi" + post "%else" + post "if [ $1 = 1 ]; then test -d %{_libdir}/gtk-2.0/2.10.0; if test $? -eq 0; then %{_bindir}/gtk-query-immodules-2.0 --update-cache; fi; fi" + post "%endif" +libgtk-2_0-0 + requires "gtk2-tools-" + provides "gtk2- = " + obsoletes "gtk2- < " + obsoletes "gail- <= 1.22.1" + post "%if "%_lib" == "lib64"" + post "if test -f %{_bindir}/gtk-query-immodules-2.0-64; then %{_bindir}/gtk-query-immodules-2.0-64 --update-cache; fi" + post "%else" + post "if test -f %{_bindir}/gtk-query-immodules-2.0; then %{_bindir}/gtk-query-immodules-2.0 --update-cache; fi" + post "%endif" +gtk2-immodule-amharic + requires "gtk2-" + post "%if "%_lib" == "lib64"" + post "%{_bindir}/gtk-query-immodules-2.0-64 --update-cache" + post "%else" + post "%{_bindir}/gtk-query-immodules-2.0 --update-cache" + post "%endif" + postun "%if "%_lib" == "lib64"" + postun "%{_bindir}/gtk-query-immodules-2.0-64 --update-cache" + postun "%else" + postun "%{_bindir}/gtk-query-immodules-2.0 --update-cache" + postun "%endif" +gtk2-immodule-inuktitut + requires "gtk2-" + post "%if "%_lib" == "lib64"" + post "%{_bindir}/gtk-query-immodules-2.0-64 --update-cache" + post "%else" + post "%{_bindir}/gtk-query-immodules-2.0 --update-cache" + post "%endif" + postun "%if "%_lib" == "lib64"" + postun "%{_bindir}/gtk-query-immodules-2.0-64 --update-cache" + postun "%else" + postun "%{_bindir}/gtk-query-immodules-2.0 --update-cache" + postun "%endif" +gtk2-immodule-multipress + requires "gtk2-" + post "%if "%_lib" == "lib64"" + post "%{_bindir}/gtk-query-immodules-2.0-64 --update-cache" + post "%else" + post "%{_bindir}/gtk-query-immodules-2.0 --update-cache" + post "%endif" + postun "%if "%_lib" == "lib64"" + postun "%{_bindir}/gtk-query-immodules-2.0-64 --update-cache" + postun "%else" + postun "%{_bindir}/gtk-query-immodules-2.0 --update-cache" + postun "%endif" +gtk2-immodule-thai + requires "gtk2-" + post "%if "%_lib" == "lib64"" + post "%{_bindir}/gtk-query-immodules-2.0-64 --update-cache" + post "%else" + post "%{_bindir}/gtk-query-immodules-2.0 --update-cache" + post "%endif" + postun "%if "%_lib" == "lib64"" + postun "%{_bindir}/gtk-query-immodules-2.0-64 --update-cache" + postun "%else" + postun "%{_bindir}/gtk-query-immodules-2.0 --update-cache" + postun "%endif" +gtk2-immodule-tigrigna + requires "gtk2-" + post "%if "%_lib" == "lib64"" + post "%{_bindir}/gtk-query-immodules-2.0-64 --update-cache" + post "%else" + post "%{_bindir}/gtk-query-immodules-2.0 --update-cache" + post "%endif" + postun "%if "%_lib" == "lib64"" + postun "%{_bindir}/gtk-query-immodules-2.0-64 --update-cache" + postun "%else" + postun "%{_bindir}/gtk-query-immodules-2.0 --update-cache" + postun "%endif" + provides "gtk2-immodules-tigrigna- = " + obsoletes "gtk2-immodules-tigrigna- = " +gtk2-immodule-vietnamese + requires "gtk2-" + post "%if "%_lib" == "lib64"" + post "%{_bindir}/gtk-query-immodules-2.0-64 --update-cache" + post "%else" + post "%{_bindir}/gtk-query-immodules-2.0 --update-cache" + post "%endif" + postun "%if "%_lib" == "lib64"" + postun "%{_bindir}/gtk-query-immodules-2.0-64 --update-cache" + postun "%else" + postun "%{_bindir}/gtk-query-immodules-2.0 --update-cache" + postun "%endif" +gtk2-immodule-xim + requires "gtk2-" + post "%if "%_lib" == "lib64"" + post "%{_bindir}/gtk-query-immodules-2.0-64 --update-cache" + post "%else" + post "%{_bindir}/gtk-query-immodules-2.0 --update-cache" + post "%endif" + postun "%if "%_lib" == "lib64"" + postun "%{_bindir}/gtk-query-immodules-2.0-64 --update-cache" + postun "%else" + postun "%{_bindir}/gtk-query-immodules-2.0 --update-cache" + postun "%endif" diff --git a/bugzilla-129753-gtk+-2.8.9-localize-font-style-name.diff b/bugzilla-129753-gtk+-2.8.9-localize-font-style-name.diff new file mode 100644 index 0000000..08c83cb --- /dev/null +++ b/bugzilla-129753-gtk+-2.8.9-localize-font-style-name.diff @@ -0,0 +1,48 @@ +Index: gtk+-2.19.0/gtk/gtkfontbutton.c +=================================================================== +--- gtk+-2.19.0.orig/gtk/gtkfontbutton.c ++++ gtk+-2.19.0/gtk/gtkfontbutton.c +@@ -893,7 +893,7 @@ gtk_font_button_update_font_info (GtkFon + if (style == NULL || !g_ascii_strcasecmp (style, "Regular")) + family_style = g_strdup (family); + else +- family_style = g_strdup_printf ("%s %s", family, style); ++ family_style = g_strdup_printf ("%s %s", family, _(style)); + + gtk_label_set_text (GTK_LABEL (font_button->priv->font_label), family_style); + +Index: gtk+-2.19.0/gtk/gtkfontsel.c +=================================================================== +--- gtk+-2.19.0.orig/gtk/gtkfontsel.c ++++ gtk+-2.19.0/gtk/gtkfontsel.c +@@ -76,6 +76,21 @@ + + #define DEFAULT_FONT_NAME "Sans 10" + ++/* These are the commonly used font styles, listed here only for ++ translations. */ ++#define FONT_STYLE_ULTRA_LIGHT N_("Ultra-Light") ++#define FONT_STYLE_LIGHT N_("Light") ++#define FONT_STYLE_MEDIUM N_("Medium") ++#define FONT_STYLE_NORMAL N_("Normal") ++#define FONT_STYLE_REGULAR N_("Regular") ++#define FONT_STYLE_ITALIC N_("Italic") ++#define FONT_STYLE_OBLIQUE N_("Oblique") ++#define FONT_STYLE_SEMI_BOLD N_("Semi-Bold") ++#define FONT_STYLE_BOLD N_("Bold") ++#define FONT_STYLE_ULTRA_BOLD N_("Ultra-Bold") ++#define FONT_STYLE_HEAVY N_("Heavy") ++#define FONT_STYLE_BOLD_ITALIC N_("Bold Italic") ++ + /* This is the initial and maximum height of the preview entry (it expands + when large font sizes are selected). Initial height is also the minimum. */ + #define INITIAL_PREVIEW_HEIGHT 44 +@@ -869,7 +884,7 @@ gtk_font_selection_show_available_styles + gtk_list_store_append (model, &iter); + gtk_list_store_set (model, &iter, + FACE_COLUMN, faces[i], +- FACE_NAME_COLUMN, str, ++ FACE_NAME_COLUMN, _(str), + -1); + + if (i == 0) diff --git a/gtk-2.24.33.tar.xz b/gtk-2.24.33.tar.xz new file mode 100644 index 0000000..5815a32 --- /dev/null +++ b/gtk-2.24.33.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9fab562c9621db16c33e8933ee09e50716600b0fed887790e32b7491a3197de8 +size 9202552 diff --git a/gtk-path-local.patch b/gtk-path-local.patch new file mode 100644 index 0000000..abf55d1 --- /dev/null +++ b/gtk-path-local.patch @@ -0,0 +1,78 @@ +https://bugzilla.novell.com/show_bug.cgi?id=369696 + +This patch adds support for /usr/local without setting of GTK_PATH. +/usr/local path preference is a behavior expected by FHS. +This patch cannot be upstreamed as is: +- It needs to be platform dependent. +- It needs to solve situation, when prefix != /usr (and maybe add /usr + to the search path, but after the default_dir). +- There is no consensus for /usr/local/lib x /usr/local/lib64 yet. + Defaulting to /usr/local/lib64 may need /usr/local/share/config.site + file (bnc#382344). + +Note that the patch it does not provide solution for bi-arch path clash: +http://bugzilla.gnome.org/show_bug.cgi?id=153848 + +Index: gtk/gtkmodules.c +=================================================================== +--- gtk/gtkmodules.c.orig ++++ gtk/gtkmodules.c +@@ -60,6 +60,7 @@ get_module_path (void) + gchar *home_gtk_dir = NULL; + gchar *module_path; + gchar *default_dir; ++ gchar *local_dir; + static gchar **result = NULL; + + if (result) +@@ -73,25 +74,32 @@ get_module_path (void) + exe_prefix = g_getenv ("GTK_EXE_PREFIX"); + + if (exe_prefix) ++ { + default_dir = g_build_filename (exe_prefix, "lib", "gtk-2.0", NULL); ++ local_dir = g_build_filename ("/usr/local", "lib", "gtk-2.0", NULL); ++ } + else ++ { + default_dir = g_build_filename (GTK_LIBDIR, "gtk-2.0", NULL); ++ local_dir = g_build_filename ("/usr/local", LIB, "gtk-2.0", NULL); ++ } + + if (module_path_env && home_gtk_dir) + module_path = g_build_path (G_SEARCHPATH_SEPARATOR_S, +- module_path_env, home_gtk_dir, default_dir, NULL); ++ module_path_env, home_gtk_dir, local_dir, default_dir, NULL); + else if (module_path_env) + module_path = g_build_path (G_SEARCHPATH_SEPARATOR_S, +- module_path_env, default_dir, NULL); ++ module_path_env, local_dir, default_dir, NULL); + else if (home_gtk_dir) + module_path = g_build_path (G_SEARCHPATH_SEPARATOR_S, +- home_gtk_dir, default_dir, NULL); ++ home_gtk_dir, local_dir, default_dir, NULL); + else + module_path = g_build_path (G_SEARCHPATH_SEPARATOR_S, +- default_dir, NULL); ++ local_dir, default_dir, NULL); + + g_free (home_gtk_dir); + g_free (default_dir); ++ g_free (local_dir); + + result = pango_split_file_list (module_path); + g_free (module_path); +Index: configure.ac +=================================================================== +--- configure.ac.orig ++++ configure.ac +@@ -1340,7 +1340,8 @@ AC_SUBST(GDK_EXTRA_LIBS) + AC_SUBST(GDK_EXTRA_CFLAGS) + AC_SUBST(GDK_DEP_LIBS) + AC_SUBST(GDK_DEP_CFLAGS) +- ++LIB=`echo $libdir | sed 's:.*/::'` ++AC_DEFINE_UNQUOTED([LIB],["$LIB"],[Platform dependent tail of libdir.]) + + ######################################## + # Check for Accessibility Toolkit flags diff --git a/gtk2-GTK_PATH64.patch b/gtk2-GTK_PATH64.patch new file mode 100644 index 0000000..91d6999 --- /dev/null +++ b/gtk2-GTK_PATH64.patch @@ -0,0 +1,13 @@ +Index: gtk+-2.22.1/gtk/gtkmodules.c +=================================================================== +--- gtk+-2.22.1.orig/gtk/gtkmodules.c ++++ gtk+-2.22.1/gtk/gtkmodules.c +@@ -68,7 +68,7 @@ get_module_path (void) + if (home_dir) + home_gtk_dir = g_build_filename (home_dir, ".gtk-2.0", NULL); + +- module_path_env = g_getenv ("GTK_PATH"); ++ module_path_env = g_getenv ("GTK_PATH64"); + exe_prefix = g_getenv ("GTK_EXE_PREFIX"); + + if (exe_prefix) diff --git a/gtk2-bgo625202-30-bit-drawables-remain-black.patch b/gtk2-bgo625202-30-bit-drawables-remain-black.patch new file mode 100644 index 0000000..d5ebc71 --- /dev/null +++ b/gtk2-bgo625202-30-bit-drawables-remain-black.patch @@ -0,0 +1,84 @@ +From fb01c5ea4c5b9f0c2b0d2b2d9c926cf1caea27c0 Mon Sep 17 00:00:00 2001 +From: Damien Leone +Date: Mon, 12 Sep 2011 09:53:00 -0700 +Subject: [PATCH] Bug 625202 - 30-bit drawables remain black + +This patch adds support for 10-10-10 bitmask BGR conversion at +depths 30 and 32 by preventing gdk_rgb_select_conv() from failing +back to the gdk_rgb_convert_32_generic() conversion function. + +Since GdkImage codes R, G and B channels in a char, we replicate +the two most significant bits to the two least significant ones +such that all 10 bits are used (i.e. all bits are set to 1 for +white color). +--- + gdk/gdkrgb.c | 47 +++++++++++++++++++++++++++++++++++++++++++++++ + 1 files changed, 47 insertions(+), 0 deletions(-) + +diff --git a/gdk/gdkrgb.c b/gdk/gdkrgb.c +index 6e32bab..93ef6ab 100644 +--- a/gdk/gdkrgb.c ++++ b/gdk/gdkrgb.c +@@ -2242,6 +2242,48 @@ gdk_rgb_convert_8880_br (GdkRgbInfo *image_info, GdkImage *image, + } + } + ++static void ++gdk_rgb_convert_0AAA_br (GdkRgbInfo *image_info, GdkImage *image, ++ gint x0, gint y0, gint width, gint height, ++ const guchar *buf, int rowstride, ++ gint x_align, gint y_align, GdkRgbCmap *cmap) ++{ ++ int y, w; ++ guchar *obuf, *p; ++ gint bpl; ++ const guchar *bptr, *bp2; ++ guchar r, g, b; ++ ++ bptr = buf; ++ bpl = image->bpl; ++ obuf = ((guchar *)image->mem) + y0 * bpl + x0 * 4; ++ ++ for (y = 0; y < height; y++) ++ { ++ bp2 = bptr; ++ p = obuf; ++ w = width; ++ while (w--) ++ { ++ r = *bp2++; ++ g = *bp2++; ++ b = *bp2++; ++ ++ /* Since the R, G and B channels are coded in a char, we ++ * replicate the two most significant bits to the two least ++ * significant ones. */ ++ *((guint32*)p) = 0x3 << 30 | ++ b << 22 | (b >> 6) << 20 | ++ g << 12 | (g >> 6) << 10 | ++ r << 2 | (r >> 6); ++ ++ p += 4; ++ } ++ bptr += rowstride; ++ obuf += bpl; ++ } ++} ++ + /* Generic truecolor/directcolor conversion function. Slow, but these + are oddball modes. */ + static void +@@ -3195,6 +3237,11 @@ gdk_rgb_select_conv (GdkRgbInfo *image_info) + #endif + } + #endif ++ else if (bpp == 32 && (depth == 30 || depth == 32) && ++ vtype == GDK_VISUAL_TRUE_COLOR && ++ (red_mask == 0x3ff && green_mask == 0xffc00 && ++ blue_mask == 0x3ff00000 && byte_order == GDK_LSB_FIRST)) ++ conv = gdk_rgb_convert_0AAA_br; + else if (vtype == GDK_VISUAL_TRUE_COLOR && byte_order == GDK_LSB_FIRST) + { + conv = gdk_rgb_convert_truecolor_lsb; +-- +1.7.5.4 diff --git a/gtk2-bgo743166-remember-printing-authentication.patch b/gtk2-bgo743166-remember-printing-authentication.patch new file mode 100644 index 0000000..b31f2cb --- /dev/null +++ b/gtk2-bgo743166-remember-printing-authentication.patch @@ -0,0 +1,1566 @@ +From deb35ed74342b05be7cd45c458a06b98c7a4d1ac Mon Sep 17 00:00:00 2001 +From: Andre Heinecke +Date: Mon, 19 Jan 2015 10:28:13 +0100 +Subject: [PATCH] Use secrets service for cups auth_info + + When a printer requires auth_info (e.g. a printer connected + over the samba protocol) it is now possible to save the + credentials necessary for printing if a secrets service + is available over dbus. + The auth_info is then stored / loaded from the default + collection of that secrets service. + If no such service is available the user is not shown + the option to remember the password and the behavior + remains the same as before. +--- + gtk/gtkmarshalers.list | 1 - + gtk/gtkprintbackend.c | 46 +- + gtk/gtkprintbackend.h | 9 +- + modules/printbackends/cups/Makefile.am | 6 +- + modules/printbackends/cups/gtkcupssecretsutils.c | 1044 ++++++++++++++++++++++ + modules/printbackends/cups/gtkcupssecretsutils.h | 41 + + modules/printbackends/cups/gtkprintbackendcups.c | 165 +++- + 7 files changed, 1289 insertions(+), 23 deletions(-) + create mode 100644 modules/printbackends/cups/gtkcupssecretsutils.c + create mode 100644 modules/printbackends/cups/gtkcupssecretsutils.h + +diff --git a/gtk/gtkmarshalers.list b/gtk/gtkmarshalers.list +index 77873cb..533a266 100644 +--- a/gtk/gtkmarshalers.list ++++ b/gtk/gtkmarshalers.list +@@ -111,4 +111,3 @@ VOID:UINT,STRING,UINT + VOID:UINT,UINT + VOID:VOID + OBJECT:OBJECT,INT,INT +-VOID:POINTER,POINTER,POINTER,POINTER,STRING +diff --git a/gtk/gtkprintbackend.c b/gtk/gtkprintbackend.c +index c487d33..7e61ca4 100644 +--- a/gtk/gtkprintbackend.c ++++ b/gtk/gtkprintbackend.c +@@ -51,6 +51,7 @@ struct _GtkPrintBackendPrivate + GtkPrintBackendStatus status; + char **auth_info_required; + char **auth_info; ++ gboolean store_auth_info; + }; + + enum { +@@ -366,7 +367,8 @@ static void request_password (GtkPrintBack + gpointer auth_info_default, + gpointer auth_info_display, + gpointer auth_info_visible, +- const gchar *prompt); ++ const gchar *prompt, ++ gboolean can_store_auth_info); + + static void + gtk_print_backend_class_init (GtkPrintBackendClass *class) +@@ -445,9 +447,9 @@ gtk_print_backend_class_init (GtkPrintBackendClass *class) + G_TYPE_FROM_CLASS (class), + G_SIGNAL_RUN_LAST, + G_STRUCT_OFFSET (GtkPrintBackendClass, request_password), +- NULL, NULL, +- _gtk_marshal_VOID__POINTER_POINTER_POINTER_POINTER_STRING, +- G_TYPE_NONE, 5, G_TYPE_POINTER, G_TYPE_POINTER, G_TYPE_POINTER, G_TYPE_POINTER, G_TYPE_STRING); ++ NULL, NULL, NULL, ++ G_TYPE_NONE, 6, G_TYPE_POINTER, G_TYPE_POINTER, G_TYPE_POINTER, ++ G_TYPE_POINTER, G_TYPE_STRING, G_TYPE_BOOLEAN); + } + + static void +@@ -670,12 +672,24 @@ gtk_print_backend_print_stream (GtkPrintBackend *backend, + void + gtk_print_backend_set_password (GtkPrintBackend *backend, + gchar **auth_info_required, +- gchar **auth_info) ++ gchar **auth_info, ++ gboolean store_auth_info) + { + g_return_if_fail (GTK_IS_PRINT_BACKEND (backend)); + + if (GTK_PRINT_BACKEND_GET_CLASS (backend)->set_password) +- GTK_PRINT_BACKEND_GET_CLASS (backend)->set_password (backend, auth_info_required, auth_info); ++ GTK_PRINT_BACKEND_GET_CLASS (backend)->set_password (backend, ++ auth_info_required, ++ auth_info, ++ store_auth_info); ++} ++ ++static void ++store_auth_info_toggled (GtkCheckButton *chkbtn, ++ gpointer user_data) ++{ ++ gboolean *data = (gboolean *) user_data; ++ *data = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (chkbtn)); + } + + static void +@@ -702,9 +716,9 @@ password_dialog_response (GtkWidget *dialog, + gint i; + + if (response_id == GTK_RESPONSE_OK) +- gtk_print_backend_set_password (backend, priv->auth_info_required, priv->auth_info); ++ gtk_print_backend_set_password (backend, priv->auth_info_required, priv->auth_info, priv->store_auth_info); + else +- gtk_print_backend_set_password (backend, priv->auth_info_required, NULL); ++ gtk_print_backend_set_password (backend, priv->auth_info_required, NULL, FALSE); + + for (i = 0; i < g_strv_length (priv->auth_info_required); i++) + if (priv->auth_info[i] != NULL) +@@ -729,10 +743,11 @@ request_password (GtkPrintBackend *backend, + gpointer auth_info_default, + gpointer auth_info_display, + gpointer auth_info_visible, +- const gchar *prompt) ++ const gchar *prompt, ++ gboolean can_store_auth_info) + { + GtkPrintBackendPrivate *priv = backend->priv; +- GtkWidget *dialog, *box, *main_box, *label, *icon, *vbox, *entry; ++ GtkWidget *dialog, *box, *main_box, *label, *icon, *vbox, *entry, *chkbtn; + GtkWidget *focus = NULL; + gchar *markup; + gint length; +@@ -745,6 +760,7 @@ request_password (GtkPrintBackend *backend, + priv->auth_info_required = g_strdupv (ai_required); + length = g_strv_length (ai_required); + priv->auth_info = g_new0 (gchar *, length + 1); ++ priv->store_auth_info = FALSE; + + dialog = gtk_dialog_new_with_buttons ( _("Authentication"), NULL, GTK_DIALOG_MODAL, + GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, +@@ -813,6 +829,16 @@ request_password (GtkPrintBackend *backend, + } + } + ++ if (can_store_auth_info) ++ { ++ chkbtn = gtk_check_button_new_with_mnemonic (_("_Remember password")); ++ gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (chkbtn), FALSE); ++ gtk_box_pack_start (GTK_BOX (vbox), chkbtn, FALSE, FALSE, 6); ++ g_signal_connect (chkbtn, "toggled", ++ G_CALLBACK (store_auth_info_toggled), ++ &(priv->store_auth_info)); ++ } ++ + if (focus != NULL) + { + gtk_widget_grab_focus (focus); +diff --git a/gtk/gtkprintbackend.h b/gtk/gtkprintbackend.h +index bdf5b69..50bec43 100644 +--- a/gtk/gtkprintbackend.h ++++ b/gtk/gtkprintbackend.h +@@ -125,12 +125,14 @@ struct _GtkPrintBackendClass + gpointer auth_info_default, + gpointer auth_info_display, + gpointer auth_info_visible, +- const gchar *prompt); ++ const gchar *prompt, ++ gboolean can_store_auth_info); + + /* not a signal */ + void (*set_password) (GtkPrintBackend *backend, + gchar **auth_info_required, +- gchar **auth_info); ++ gchar **auth_info, ++ gboolean store_auth_info); + + /* Padding for future expansion */ + void (*_gtk_reserved1) (void); +@@ -155,7 +157,8 @@ GList * gtk_print_backend_load_modules (void); + void gtk_print_backend_destroy (GtkPrintBackend *print_backend); + void gtk_print_backend_set_password (GtkPrintBackend *backend, + gchar **auth_info_required, +- gchar **auth_info); ++ gchar **auth_info, ++ gboolean can_store_auth_info); + + /* Backend-only functions for GtkPrintBackend */ + +diff --git a/modules/printbackends/cups/Makefile.am b/modules/printbackends/cups/Makefile.am +index 463199e..e904f50 100644 +--- a/modules/printbackends/cups/Makefile.am ++++ b/modules/printbackends/cups/Makefile.am +@@ -27,12 +27,14 @@ backend_LTLIBRARIES = libprintbackend-cups.la + libprintbackend_cups_la_SOURCES = \ + gtkprintbackendcups.c \ + gtkprintercups.c \ +- gtkcupsutils.c ++ gtkcupsutils.c \ ++ gtkcupssecretsutils.c + + noinst_HEADERS = \ + gtkprintbackendcups.h \ + gtkprintercups.h \ +- gtkcupsutils.h ++ gtkcupsutils.h \ ++ gtkcupssecretsutils.h + + libprintbackend_cups_la_LDFLAGS = -avoid-version -module $(no_undefined) + libprintbackend_cups_la_LIBADD = $(LDADDS) $(CUPS_LIBS) +diff --git a/modules/printbackends/cups/gtkcupssecretsutils.c b/modules/printbackends/cups/gtkcupssecretsutils.c +new file mode 100644 +index 0000000..2ed0db5 +--- /dev/null ++++ b/modules/printbackends/cups/gtkcupssecretsutils.c +@@ -0,0 +1,1044 @@ ++/* gtkcupssecretsutils.h: Helper to use a secrets service for printer passwords ++ * Copyright (C) 2014, Intevation GmbH ++ * ++ * This library is free software; you can redistribute it and/or ++ * modify it under the terms of the GNU Lesser General Public ++ * License as published by the Free Software Foundation; either ++ * version 2 of the License, or (at your option) any later version. ++ * ++ * This library is distributed in the hope that it will be useful, ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++ * Lesser General Public License for more details. ++ * ++ * You should have received a copy of the GNU Lesser General Public ++ * License along with this library. If not, see . ++ */ ++ ++#include ++#include ++#include ++ ++#include ++ ++#include "gtkcupssecretsutils.h" ++ ++#define SECRETS_BUS "org.freedesktop.secrets" ++#define SECRETS_IFACE(interface) "org.freedesktop.Secret."interface ++#define SECRETS_PATH "/org/freedesktop/secrets" ++#define SECRETS_TIMEOUT 5000 ++ ++typedef enum ++{ ++ SECRETS_SERVICE_ACTION_QUERY, ++ SECRETS_SERVICE_ACTION_STORE ++} SecretsServiceAction; ++ ++typedef struct ++{ ++ GDBusConnection *dbus_connection; ++ SecretsServiceAction action; ++ gchar **auth_info, ++ **auth_info_labels, ++ **auth_info_required, ++ *printer_uri, ++ *session_path, ++ *collection_path; ++ GDBusProxy *item_proxy; ++ guint prompt_subscription; ++} SecretsServiceData; ++ ++/** ++ * create_attributes: ++ * @printer_uri: URI for the printer ++ * @additional_labels: Optional labels for additional attributes ++ * @additional_attrs: Optional additional attributes ++ * ++ * Creates a GVariant dictionary with key / value pairs that ++ * can be used to identify a secret item. ++ * ++ * Returns: A GVariant dictionary of string pairs or NULL on error. ++ */ ++static GVariant * ++create_attributes (const gchar *printer_uri, ++ gchar **additional_attrs, ++ gchar **additional_labels) ++{ ++ GVariantBuilder *attr_builder = NULL; ++ GVariant *ret = NULL; ++ ++ if (printer_uri == NULL) ++ { ++ GTK_NOTE (PRINTING, ++ g_print ("create_attributes called with invalid parameters.\n")); ++ return NULL; ++ } ++ ++ attr_builder = g_variant_builder_new (G_VARIANT_TYPE_DICTIONARY); ++ /* The printer uri is the main identifying part */ ++ g_variant_builder_add (attr_builder, "{ss}", "uri", printer_uri); ++ ++ if (additional_labels != NULL) ++ { ++ int i; ++ for (i = 0; additional_labels[i] != NULL; i++) ++ { ++ g_variant_builder_add (attr_builder, "{ss}", ++ additional_labels[i], ++ additional_attrs[i]); ++ } ++ } ++ ++ ret = g_variant_builder_end (attr_builder); ++ g_variant_builder_unref (attr_builder); ++ ++ return ret; ++} ++ ++static void ++get_secret_cb (GObject *source_object, ++ GAsyncResult *res, ++ gpointer user_data) ++{ ++ GTask *task; ++ SecretsServiceData *task_data; ++ GError *error = NULL; ++ GVariant *output, ++ *attributes; ++ gchar **auth_info = NULL, ++ *key = NULL, ++ *value = NULL; ++ GVariantIter *iter = NULL; ++ guint i; ++ gint pw_field = -1; ++ ++ task = user_data; ++ task_data = g_task_get_task_data (task); ++ ++ output = g_dbus_proxy_call_finish (G_DBUS_PROXY (source_object), ++ res, ++ &error); ++ if (output == NULL) ++ { ++ g_task_return_error (task, error); ++ return; ++ } ++ ++ attributes = g_dbus_proxy_get_cached_property (task_data->item_proxy, ++ "Attributes"); ++ if (attributes == NULL) ++ { ++ GTK_NOTE (PRINTING, g_print ("Failed to lookup attributes.\n")); ++ g_variant_unref (output); ++ g_task_return_pointer (task, NULL, NULL); ++ return; ++ } ++ ++ /* Iterate over the attributes to fill the auth info */ ++ g_variant_get (attributes, "a{ss}", &iter); ++ ++ auth_info = g_new0 (gchar *, ++ g_strv_length (task_data->auth_info_required) + 1); ++ ++ while (g_variant_iter_loop (iter, "{ss}", &key, &value)) ++ { ++ /* Match attributes with required auth info */ ++ for (i = 0; task_data->auth_info_required[i] != NULL; i++) ++ { ++ if ((strcmp (key, "user") == 0 || ++ strcmp (key, "username") == 0) && ++ strcmp (task_data->auth_info_required[i], ++ "username") == 0) ++ { ++ auth_info[i] = g_strdup (value); ++ } ++ else if (strcmp (key, "domain") == 0 && ++ strcmp (task_data->auth_info_required[i], "domain") == 0) ++ { ++ auth_info[i] = g_strdup (value); ++ } ++ else if ((strcmp (key, "hostname") == 0 || ++ strcmp (key, "server") == 0 ) && ++ strcmp (task_data->auth_info_required[i], "hostname") == 0) ++ { ++ auth_info[i] = g_strdup (value); ++ } ++ else if (strcmp (task_data->auth_info_required[i], "password") == 0) ++ { ++ pw_field = i; ++ } ++ } ++ } ++ ++ if (pw_field == -1) ++ { ++ /* should not happen... */ ++ GTK_NOTE (PRINTING, g_print ("No password required?.\n")); ++ g_variant_unref (output); ++ goto fail; ++ } ++ else ++ { ++ GVariant *secret, ++ *s_value; ++ gconstpointer ba_passwd = NULL; ++ gsize len = 0; ++ ++ secret = g_variant_get_child_value (output, 0); ++ g_variant_unref (output); ++ if (secret == NULL || g_variant_n_children (secret) != 4) ++ { ++ GTK_NOTE (PRINTING, g_print ("Get secret response invalid.\n")); ++ if (secret != NULL) ++ g_variant_unref (secret); ++ goto fail; ++ } ++ s_value = g_variant_get_child_value (secret, 2); ++ ba_passwd = g_variant_get_fixed_array (s_value, ++ &len, ++ sizeof (guchar)); ++ ++ g_variant_unref (secret); ++ ++ if (ba_passwd == NULL) ++ { ++ /* No secret or the secret is not a zero terminated value */ ++ GTK_NOTE (PRINTING, g_print ("Invalid / no secret found.\n")); ++ g_variant_unref (s_value); ++ goto fail; ++ } ++ ++ auth_info[pw_field] = g_strndup (ba_passwd, len); ++ g_variant_unref (s_value); ++ } ++ ++ for (i = 0; task_data->auth_info_required[i] != NULL; i++) ++ { ++ if (auth_info[i] == NULL) ++ { ++ /* Error out if we did not find everything */ ++ GTK_NOTE (PRINTING, g_print ("Failed to lookup required attribute: %s.\n", ++ task_data->auth_info_required[i])); ++ goto fail; ++ } ++ } ++ ++ g_task_return_pointer (task, auth_info, NULL); ++ return; ++ ++fail: ++ /* Error out */ ++ GTK_NOTE (PRINTING, g_print ("Failed to lookup secret.\n")); ++ for (i = 0; i < g_strv_length (task_data->auth_info_required); i++) ++ { ++ /* Not all fields of auth_info are neccessarily written so we can not ++ use strfreev here */ ++ g_free (auth_info[i]); ++ } ++ g_free (auth_info); ++ g_task_return_pointer (task, NULL, NULL); ++} ++ ++static void ++create_item_cb (GObject *source_object, ++ GAsyncResult *res, ++ gpointer user_data) ++{ ++ GTask *task; ++ GError *error = NULL; ++ GVariant *output; ++ gchar *item = NULL; ++ ++ task = user_data; ++ ++ output = g_dbus_connection_call_finish (G_DBUS_CONNECTION (source_object), ++ res, ++ &error); ++ if (output == NULL) ++ { ++ g_task_return_error (task, error); ++ return; ++ } ++ ++ g_variant_get (output, "(&o&o)", &item, NULL); ++ if (item != NULL && strlen (item) > 1) ++ { ++ GTK_NOTE (PRINTING, g_print ("Successfully stored auth info.\n")); ++ g_task_return_pointer (task, NULL, NULL); ++ return; ++ } ++ g_variant_unref (output); ++} ++ ++static void ++do_store_auth_info (GTask *task) ++{ ++ GVariant *attributes = NULL, ++ *properties = NULL, ++ *secret = NULL; ++ gchar **additional_attrs = NULL, ++ **additional_labels = NULL, ++ *password = NULL; ++ SecretsServiceData *task_data = g_task_get_task_data (task); ++ guint i, ++ length, ++ additional_count = 0; ++ GVariantBuilder *prop_builder = NULL; ++ ++ length = g_strv_length (task_data->auth_info_labels); ++ ++ additional_attrs = g_new0 (gchar *, length + 1); ++ additional_labels = g_new0 (gchar *, length + 1); ++ /* The labels user and server are chosen to be compatible with ++ the attributes used by system-config-printer */ ++ for (i = 0; task_data->auth_info_labels[i] != NULL; i++) ++ { ++ if (g_strcmp0 (task_data->auth_info_labels[i], "username") == 0) ++ { ++ additional_attrs[additional_count] = task_data->auth_info[i]; ++ additional_labels[additional_count++] = "user"; ++ } ++ else if (g_strcmp0 (task_data->auth_info_labels[i], "hostname") == 0) ++ { ++ additional_attrs[additional_count] = task_data->auth_info[i]; ++ additional_labels[additional_count++] = "server"; ++ } ++ else if (g_strcmp0 (task_data->auth_info_labels[i], "password") == 0) ++ { ++ password = task_data->auth_info[i]; ++ } ++ } ++ ++ attributes = create_attributes (task_data->printer_uri, ++ additional_attrs, ++ additional_labels); ++ g_free (additional_labels); ++ g_free (additional_attrs); ++ if (attributes == NULL) ++ { ++ GTK_NOTE (PRINTING, g_print ("Failed to create attributes.\n")); ++ g_task_return_pointer (task, NULL, NULL); ++ return; ++ } ++ ++ if (password == NULL) ++ { ++ GTK_NOTE (PRINTING, g_print ("No secret to store.\n")); ++ g_task_return_pointer (task, NULL, NULL); ++ return; ++ } ++ ++ prop_builder = g_variant_builder_new (G_VARIANT_TYPE_DICTIONARY); ++ ++ g_variant_builder_add (prop_builder, "{sv}", SECRETS_IFACE ("Item.Label"), ++ g_variant_new_string (task_data->printer_uri)); ++ g_variant_builder_add (prop_builder, "{sv}", SECRETS_IFACE ("Item.Attributes"), ++ attributes); ++ ++ properties = g_variant_builder_end (prop_builder); ++ ++ g_variant_builder_unref (prop_builder); ++ ++ secret = g_variant_new ("(oay@ays)", ++ task_data->session_path, ++ NULL, ++ g_variant_new_bytestring (password), ++ "text/plain"); ++ ++ g_dbus_connection_call (task_data->dbus_connection, ++ SECRETS_BUS, ++ task_data->collection_path, ++ SECRETS_IFACE ("Collection"), ++ "CreateItem", ++ g_variant_new ("(@a{sv}@(oayays)b)", ++ properties, ++ secret, ++ TRUE), ++ G_VARIANT_TYPE ("(oo)"), ++ G_DBUS_CALL_FLAGS_NONE, ++ SECRETS_TIMEOUT, ++ g_task_get_cancellable (task), ++ create_item_cb, ++ task); ++} ++ ++static void ++prompt_completed_cb (GDBusConnection *connection, ++ const gchar *sender_name, ++ const gchar *object_path, ++ const gchar *interface_name, ++ const gchar *signal_name, ++ GVariant *parameters, ++ gpointer user_data) ++{ ++ GTask *task; ++ SecretsServiceData *task_data; ++ GVariant *dismissed; ++ gboolean is_dismissed = TRUE; ++ ++ task = user_data; ++ task_data = g_task_get_task_data (task); ++ ++ g_dbus_connection_signal_unsubscribe (task_data->dbus_connection, ++ task_data->prompt_subscription); ++ task_data->prompt_subscription = 0; ++ ++ dismissed = g_variant_get_child_value (parameters, 0); ++ ++ if (dismissed == NULL) ++ { ++ GTK_NOTE (PRINTING, g_print ("Invalid prompt signal.\n")); ++ g_task_return_pointer (task, NULL, NULL); ++ return; ++ } ++ ++ g_variant_get (dismissed, "b", &is_dismissed); ++ g_variant_unref (dismissed); ++ ++ if (is_dismissed) ++ { ++ GTK_NOTE (PRINTING, g_print ("Collection unlock dismissed.\n")); ++ g_task_return_pointer (task, NULL, NULL); ++ return; ++ } ++ ++ /* Prompt successfull, proceed to get or store secret */ ++ switch (task_data->action) ++ { ++ case SECRETS_SERVICE_ACTION_STORE: ++ do_store_auth_info (task); ++ break; ++ ++ case SECRETS_SERVICE_ACTION_QUERY: ++ g_dbus_proxy_call (task_data->item_proxy, ++ "GetSecret", ++ g_variant_new ("(o)", ++ task_data->session_path), ++ G_DBUS_CALL_FLAGS_NONE, ++ SECRETS_TIMEOUT, ++ g_task_get_cancellable (task), ++ get_secret_cb, ++ task); ++ break; ++ } ++} ++ ++static void ++prompt_cb (GObject *source_object, ++ GAsyncResult *res, ++ gpointer user_data) ++{ ++ GTask *task; ++ SecretsServiceData *task_data; ++ GError *error = NULL; ++ GVariant *output; ++ ++ task = user_data; ++ task_data = g_task_get_task_data (task); ++ ++ output = g_dbus_connection_call_finish (G_DBUS_CONNECTION (source_object), ++ res, ++ &error); ++ if (output == NULL) ++ { ++ g_task_return_error (task, error); ++ return; ++ } ++ ++ g_variant_unref (output); ++ ++ /* Connect to the prompt's completed signal */ ++ task_data->prompt_subscription = ++ g_dbus_connection_signal_subscribe (task_data->dbus_connection, ++ NULL, ++ SECRETS_IFACE ("Prompt"), ++ "Completed", ++ NULL, ++ NULL, ++ G_DBUS_SIGNAL_FLAGS_NONE, ++ prompt_completed_cb, ++ task, ++ NULL); ++} ++ ++static void ++unlock_collection_cb (GObject *source_object, ++ GAsyncResult *res, ++ gpointer user_data) ++{ ++ GTask *task; ++ SecretsServiceData *task_data; ++ GError *error = NULL; ++ GVariant *output; ++ const gchar *prompt_path; ++ ++ task = user_data; ++ task_data = g_task_get_task_data (task); ++ ++ output = g_dbus_connection_call_finish (G_DBUS_CONNECTION (source_object), ++ res, ++ &error); ++ if (output == NULL) ++ { ++ g_task_return_error (task, error); ++ return; ++ } ++ ++ g_variant_get (output, "(@ao&o)", NULL, &prompt_path); ++ ++ if (prompt_path != NULL && strlen (prompt_path) > 1) ++ { ++ g_dbus_connection_call (task_data->dbus_connection, ++ SECRETS_BUS, ++ prompt_path, ++ SECRETS_IFACE ("Prompt"), ++ "Prompt", ++ g_variant_new ("(s)", "0"), ++ G_VARIANT_TYPE ("()"), ++ G_DBUS_CALL_FLAGS_NONE, ++ SECRETS_TIMEOUT, ++ g_task_get_cancellable (task), ++ prompt_cb, ++ task); ++ } ++ else ++ { ++ switch (task_data->action) ++ { ++ case SECRETS_SERVICE_ACTION_STORE: ++ do_store_auth_info (task); ++ break; ++ ++ case SECRETS_SERVICE_ACTION_QUERY: ++ /* Prompt successfull proceed to get secret */ ++ g_dbus_proxy_call (task_data->item_proxy, ++ "GetSecret", ++ g_variant_new ("(o)", ++ task_data->session_path), ++ G_DBUS_CALL_FLAGS_NONE, ++ SECRETS_TIMEOUT, ++ g_task_get_cancellable (task), ++ get_secret_cb, ++ task); ++ break; ++ } ++ } ++ g_variant_unref (output); ++} ++ ++static void ++unlock_read_alias_cb (GObject *source_object, ++ GAsyncResult *res, ++ gpointer user_data) ++{ ++ GTask *task; ++ SecretsServiceData *task_data; ++ GError *error = NULL; ++ GVariant *output, ++ *subresult; ++ gsize path_len = 0; ++ const gchar *collection_path; ++ ++ task = user_data; ++ task_data = g_task_get_task_data (task); ++ ++ output = g_dbus_connection_call_finish (G_DBUS_CONNECTION (source_object), ++ res, ++ &error); ++ if (output == NULL) ++ { ++ g_task_return_error (task, error); ++ return; ++ } ++ ++ subresult = g_variant_get_child_value (output, 0); ++ g_variant_unref (output); ++ ++ if (subresult == NULL) ++ { ++ GTK_NOTE (PRINTING, g_print ("Invalid ReadAlias response.\n")); ++ g_task_return_pointer (task, NULL, NULL); ++ return; ++ } ++ ++ collection_path = g_variant_get_string (subresult, &path_len); ++ ++ const gchar * const to_unlock[] = ++ { ++ collection_path, NULL ++ }; ++ ++ task_data->collection_path = g_strdup (collection_path); ++ ++ g_dbus_connection_call (task_data->dbus_connection, ++ SECRETS_BUS, ++ SECRETS_PATH, ++ SECRETS_IFACE ("Service"), ++ "Unlock", ++ g_variant_new ("(^ao)", to_unlock), ++ G_VARIANT_TYPE ("(aoo)"), ++ G_DBUS_CALL_FLAGS_NONE, ++ SECRETS_TIMEOUT, ++ g_task_get_cancellable (task), ++ unlock_collection_cb, ++ task); ++ ++ g_variant_unref (subresult); ++} ++ ++static void ++item_proxy_cb (GObject *source_object, ++ GAsyncResult *res, ++ gpointer user_data) ++{ ++ GTask *task; ++ SecretsServiceData *task_data; ++ GError *error = NULL; ++ GDBusProxy *item_proxy; ++ GVariant *locked; ++ gboolean is_locked; ++ ++ task = user_data; ++ task_data = g_task_get_task_data (task); ++ ++ item_proxy = g_dbus_proxy_new_finish (res, ++ &error); ++ if (item_proxy == NULL) ++ { ++ g_task_return_error (task, error); ++ return; ++ } ++ ++ task_data->item_proxy = item_proxy; ++ ++ locked = g_dbus_proxy_get_cached_property (item_proxy, "Locked"); ++ ++ if (locked == NULL) ++ { ++ GTK_NOTE (PRINTING, g_print ("Failed to look up \"Locked\" property on item.\n")); ++ g_task_return_pointer (task, NULL, NULL); ++ return; ++ } ++ ++ g_variant_get (locked, "b", &is_locked); ++ g_variant_unref (locked); ++ ++ if (is_locked) ++ { ++ /* Go down the unlock -> lookup path */ ++ g_dbus_connection_call (task_data->dbus_connection, ++ SECRETS_BUS, ++ SECRETS_PATH, ++ SECRETS_IFACE ("Service"), ++ "ReadAlias", ++ g_variant_new ("(s)", "default"), ++ G_VARIANT_TYPE ("(o)"), ++ G_DBUS_CALL_FLAGS_NONE, ++ SECRETS_TIMEOUT, ++ g_task_get_cancellable (task), ++ unlock_read_alias_cb, ++ task); ++ return; ++ } ++ ++ /* Unlocked proceed to get or store secret */ ++ switch (task_data->action) ++ { ++ case SECRETS_SERVICE_ACTION_STORE: ++ do_store_auth_info (task); ++ break; ++ ++ case SECRETS_SERVICE_ACTION_QUERY: ++ g_dbus_proxy_call (item_proxy, ++ "GetSecret", ++ g_variant_new ("(o)", ++ task_data->session_path), ++ G_DBUS_CALL_FLAGS_NONE, ++ SECRETS_TIMEOUT, ++ g_task_get_cancellable (task), ++ get_secret_cb, ++ task); ++ break; ++ } ++} ++ ++static void ++search_items_cb (GObject *source_object, ++ GAsyncResult *res, ++ gpointer user_data) ++{ ++ GTask *task; ++ SecretsServiceData *task_data; ++ GError *error = NULL; ++ GVariant *output; ++ gsize array_cnt, ++ i; ++ gboolean found_item = FALSE; ++ ++ task = user_data; ++ task_data = g_task_get_task_data (task); ++ ++ output = g_dbus_connection_call_finish (G_DBUS_CONNECTION (source_object), ++ res, ++ &error); ++ if (output == NULL) ++ { ++ g_task_return_error (task, error); ++ return; ++ } ++ ++ array_cnt = g_variant_n_children (output); ++ ++ for (i = 0; i < array_cnt; i++) ++ { ++ GVariant * const item_paths = g_variant_get_child_value (output, i); ++ const gchar **items = NULL; ++ ++ if (item_paths == NULL) ++ { ++ GTK_NOTE (PRINTING, ++ g_print ("SearchItems returned invalid result.\n")); ++ continue; ++ } ++ ++ items = g_variant_get_objv (item_paths, NULL); ++ ++ if (*items == NULL) ++ { ++ g_variant_unref (item_paths); ++ g_free ((gpointer) items); ++ continue; ++ } ++ ++ /* Access the first found item. */ ++ found_item = TRUE; ++ g_dbus_proxy_new (task_data->dbus_connection, ++ G_DBUS_PROXY_FLAGS_NONE, ++ NULL, ++ SECRETS_BUS, ++ *items, ++ SECRETS_IFACE ("Item"), ++ g_task_get_cancellable (task), ++ item_proxy_cb, ++ task); ++ g_free ((gpointer) items); ++ g_variant_unref (item_paths); ++ break; ++ } ++ g_variant_unref (output); ++ ++ if (!found_item) ++ { ++ GTK_NOTE (PRINTING, g_print ("No match found in secrets service.\n")); ++ g_task_return_pointer (task, NULL, NULL); ++ return; ++ } ++} ++ ++static void ++open_session_cb (GObject *source_object, ++ GAsyncResult *res, ++ gpointer user_data) ++{ ++ GTask *task; ++ GVariant *output, ++ *session_variant; ++ SecretsServiceData *task_data; ++ GError *error = NULL; ++ ++ task = user_data; ++ task_data = g_task_get_task_data (task); ++ ++ output = g_dbus_connection_call_finish (G_DBUS_CONNECTION (source_object), ++ res, ++ &error); ++ if (output == NULL) ++ { ++ g_task_return_error (task, error); ++ return; ++ } ++ ++ session_variant = g_variant_get_child_value (output, 1); ++ ++ if (session_variant == NULL) ++ { ++ GTK_NOTE (PRINTING, g_print ("Invalid session path response.\n")); ++ g_variant_unref (output); ++ g_task_return_pointer (task, NULL, NULL); ++ return; ++ } ++ ++ task_data->session_path = g_variant_dup_string (session_variant, NULL); ++ ++ if (task_data->session_path == NULL) ++ { ++ GTK_NOTE (PRINTING, g_print ("Invalid session path string value.\n")); ++ g_variant_unref (session_variant); ++ g_variant_unref (output); ++ g_task_return_pointer (task, NULL, NULL); ++ return; ++ } ++ ++ g_variant_unref (session_variant); ++ g_variant_unref (output); ++ ++ switch (task_data->action) ++ { ++ case SECRETS_SERVICE_ACTION_QUERY: ++ { ++ /* Search for the secret item */ ++ GVariant *secrets_attrs; ++ ++ secrets_attrs = create_attributes (task_data->printer_uri, NULL, NULL); ++ if (secrets_attrs == NULL) ++ { ++ GTK_NOTE (PRINTING, g_print ("Failed to create attributes.\n")); ++ g_task_return_pointer (task, NULL, NULL); ++ return; ++ } ++ ++ g_dbus_connection_call (task_data->dbus_connection, ++ SECRETS_BUS, ++ SECRETS_PATH, ++ SECRETS_IFACE ("Service"), ++ "SearchItems", ++ g_variant_new ("(@a{ss})", secrets_attrs), ++ G_VARIANT_TYPE ("(aoao)"), ++ G_DBUS_CALL_FLAGS_NONE, ++ SECRETS_TIMEOUT, ++ g_task_get_cancellable (task), ++ search_items_cb, ++ task); ++ break; ++ } ++ ++ case SECRETS_SERVICE_ACTION_STORE: ++ { ++ /* Look up / unlock the default collection for storing */ ++ g_dbus_connection_call (task_data->dbus_connection, ++ SECRETS_BUS, ++ SECRETS_PATH, ++ SECRETS_IFACE ("Service"), ++ "ReadAlias", ++ g_variant_new ("(s)", "default"), ++ G_VARIANT_TYPE ("(o)"), ++ G_DBUS_CALL_FLAGS_NONE, ++ SECRETS_TIMEOUT, ++ g_task_get_cancellable (task), ++ unlock_read_alias_cb, ++ task); ++ break; ++ } ++ } ++} ++ ++static void ++get_connection_cb (GObject *source_object, ++ GAsyncResult *res, ++ gpointer user_data) ++{ ++ GTask *task; ++ SecretsServiceData *task_data; ++ GError *error = NULL; ++ ++ task = user_data; ++ task_data = g_task_get_task_data (task); ++ ++ task_data->dbus_connection = g_bus_get_finish (res, &error); ++ if (task_data->dbus_connection == NULL) ++ { ++ g_task_return_error (task, error); ++ return; ++ } ++ ++ /* Now open a session */ ++ g_dbus_connection_call (task_data->dbus_connection, ++ SECRETS_BUS, ++ SECRETS_PATH, ++ SECRETS_IFACE ("Service"), ++ "OpenSession", ++ g_variant_new ("(sv)", "plain", ++ g_variant_new_string ("")), ++ G_VARIANT_TYPE ("(vo)"), ++ G_DBUS_CALL_FLAGS_NONE, ++ SECRETS_TIMEOUT, ++ g_task_get_cancellable (task), ++ open_session_cb, ++ task); ++} ++ ++/** ++ * gtk_cups_secrets_service_watch: ++ * @appeared: The callback to call when the service interface appears ++ * @vanished: The callback to call when the service interface vanishes ++ * @user_data: A reference to the watching printbackend ++ * ++ * Registers a watch for the secrets service interface. ++ * ++ * Returns: The watcher id ++ */ ++guint ++gtk_cups_secrets_service_watch (GBusNameAppearedCallback appeared, ++ GBusNameVanishedCallback vanished, ++ gpointer user_data) ++{ ++ return g_bus_watch_name (G_BUS_TYPE_SESSION, ++ SECRETS_BUS, ++ G_BUS_NAME_WATCHER_FLAGS_AUTO_START, ++ appeared, ++ vanished, ++ user_data, ++ NULL); ++} ++ ++void ++cleanup_task_data (gpointer data) ++{ ++ gint i; ++ SecretsServiceData *task_data = data; ++ ++ g_free (task_data->collection_path); ++ g_strfreev (task_data->auth_info_labels); ++ g_strfreev (task_data->auth_info_required); ++ g_free (task_data->printer_uri); ++ ++ if (task_data->auth_info != NULL) ++ { ++ for (i = 0; task_data->auth_info[i] != NULL; i++) ++ { ++ memset (task_data->auth_info[i], 0, strlen (task_data->auth_info[i])); ++ g_clear_pointer (&task_data->auth_info[i], g_free); ++ } ++ g_clear_pointer (&task_data->auth_info, g_free); ++ } ++ ++ if (task_data->prompt_subscription != 0) ++ { ++ g_dbus_connection_signal_unsubscribe (task_data->dbus_connection, ++ task_data->prompt_subscription); ++ task_data->prompt_subscription = 0; ++ } ++ ++ if (task_data->session_path != NULL) ++ { ++ g_dbus_connection_call (task_data->dbus_connection, ++ SECRETS_BUS, ++ task_data->session_path, ++ SECRETS_IFACE ("Session"), ++ "Close", ++ NULL, ++ G_VARIANT_TYPE ("()"), ++ G_DBUS_CALL_FLAGS_NONE, ++ SECRETS_TIMEOUT, ++ NULL, ++ NULL, ++ NULL); ++ } ++ ++ g_clear_object (&task_data->dbus_connection); ++ g_clear_pointer (&task_data->session_path, g_free); ++ g_clear_object (&task_data->item_proxy); ++} ++ ++/** ++ * gtk_cups_secrets_service_query_task: ++ * @source_object: Source object for this task ++ * @cancellable: Cancellable to cancel this task ++ * @callback: Callback to call once the query is finished ++ * @user_data: The user_data passed to the callback ++ * @printer_uri: URI of the printer ++ * @auth_info_required: Info required for authentication ++ * ++ * Checks if a secrets service as described by the secrets-service standard ++ * is available and if so it tries to find the authentication info in the ++ * default collection of the service. ++ * ++ * This is the entry point to a chain of async calls to open a session, ++ * search the secret, unlock the collection (if necessary) and finally ++ * to lookup the secret. ++ * ++ * See: http://standards.freedesktop.org/secret-service/ for documentation ++ * of the used API. ++ */ ++void ++gtk_cups_secrets_service_query_task (gpointer source_object, ++ GCancellable *cancellable, ++ GAsyncReadyCallback callback, ++ gpointer user_data, ++ const gchar *printer_uri, ++ gchar **auth_info_required) ++{ ++ GTask *task; ++ SecretsServiceData *task_data; ++ ++ task_data = g_new0 (SecretsServiceData, 1); ++ task_data->action = SECRETS_SERVICE_ACTION_QUERY; ++ task_data->printer_uri = g_strdup (printer_uri); ++ task_data->auth_info_required = g_strdupv (auth_info_required); ++ ++ task = g_task_new (source_object, cancellable, callback, user_data); ++ ++ g_task_set_task_data (task, task_data, cleanup_task_data); ++ ++ g_bus_get (G_BUS_TYPE_SESSION, cancellable, ++ get_connection_cb, task); ++} ++ ++static void ++store_done_cb (GObject *source_object, ++ GAsyncResult *res, ++ gpointer user_data) ++{ ++ GTask *task = (GTask *) res; ++ GError *error = NULL; ++ ++ g_task_propagate_pointer (task, &error); ++ ++ if (error != NULL) ++ { ++ GTK_NOTE (PRINTING, ++ g_print ("Failed to store auth info: %s\n", error->message)); ++ g_error_free (error); ++ } ++ ++ g_object_unref (task); ++ GTK_NOTE (PRINTING, ++ g_print ("gtk_cups_secrets_service_store finished.\n")); ++} ++ ++/** ++ * gtk_cups_secrets_service_store: ++ * @auth_info: Auth info that should be stored ++ * @auth_info_labels: The keys to use for the auth info ++ * @printer_uri: URI of the printer ++ * ++ * Tries to store the auth_info in a secrets service. ++ */ ++void ++gtk_cups_secrets_service_store (gchar **auth_info, ++ gchar **auth_info_labels, ++ const gchar *printer_uri) ++{ ++ GTask *task; ++ SecretsServiceData *task_data; ++ ++ if (auth_info == NULL || auth_info_labels == NULL || printer_uri == NULL) ++ { ++ GTK_NOTE (PRINTING, ++ g_print ("Invalid call to gtk_cups_secrets_service_store.\n")); ++ return; ++ } ++ ++ task_data = g_new0 (SecretsServiceData, 1); ++ task_data->action = SECRETS_SERVICE_ACTION_STORE; ++ task_data->printer_uri = g_strdup (printer_uri); ++ task_data->auth_info = g_strdupv (auth_info); ++ task_data->auth_info_labels = g_strdupv (auth_info_labels); ++ ++ task = g_task_new (NULL, NULL, store_done_cb, NULL); ++ ++ g_task_set_task_data (task, task_data, cleanup_task_data); ++ ++ g_bus_get (G_BUS_TYPE_SESSION, NULL, ++ get_connection_cb, task); ++} +diff --git a/modules/printbackends/cups/gtkcupssecretsutils.h b/modules/printbackends/cups/gtkcupssecretsutils.h +new file mode 100644 +index 0000000..1a0424a +--- /dev/null ++++ b/modules/printbackends/cups/gtkcupssecretsutils.h +@@ -0,0 +1,41 @@ ++/* gtkcupssecretsutils.h: Helper to use a secrets service for printer passwords ++ * Copyright (C) 2014 Intevation GmbH ++ * ++ * This library is free software; you can redistribute it and/or ++ * modify it under the terms of the GNU Lesser General Public ++ * License as published by the Free Software Foundation; either ++ * version 2 of the License, or (at your option) any later version. ++ * ++ * This library is distributed in the hope that it will be useful, ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++ * Lesser General Public License for more details. ++ * ++ * You should have received a copy of the GNU Lesser General Public ++ * License along with this library. If not, see . ++ */ ++#ifndef __GTK_SECRETS_UTILS_H__ ++#define __GTK_SECRETS_UTILS_H__ ++ ++#include ++ ++#include "gtkcupsutils.h" ++ ++G_BEGIN_DECLS ++ ++void gtk_cups_secrets_service_query_task (gpointer source_object, ++ GCancellable *cancellable, ++ GAsyncReadyCallback callback, ++ gpointer user_data, ++ const gchar *printer_uri, ++ gchar **auth_info_required); ++guint gtk_cups_secrets_service_watch (GBusNameAppearedCallback appeared, ++ GBusNameVanishedCallback vanished, ++ gpointer user_data); ++void gtk_cups_secrets_service_store (gchar **auth_info, ++ gchar **auth_info_labels, ++ const gchar *printer_uri); ++ ++G_END_DECLS ++ ++#endif /* __GTK_SECRETS_UTILS_H__ */ +diff --git a/modules/printbackends/cups/gtkprintbackendcups.c b/modules/printbackends/cups/gtkprintbackendcups.c +index cebdc17..7e51f2f 100644 +--- a/modules/printbackends/cups/gtkprintbackendcups.c ++++ b/modules/printbackends/cups/gtkprintbackendcups.c +@@ -60,6 +60,7 @@ + #include "gtkprintercups.h" + + #include "gtkcupsutils.h" ++#include "gtkcupssecretsutils.h" + + + typedef struct _GtkPrintBackendCupsClass GtkPrintBackendCupsClass; +@@ -152,6 +153,9 @@ struct _GtkPrintBackendCups + gchar *avahi_service_browser_paths[2]; + GCancellable *avahi_cancellable; + #endif ++ gboolean secrets_service_available; ++ guint secrets_service_watch_id; ++ GCancellable *secrets_service_cancellable; + }; + + static GObjectClass *backend_parent_class; +@@ -212,16 +216,26 @@ static cairo_surface_t * cups_printer_create_cairo_surface (GtkPrinter + + static void gtk_print_backend_cups_set_password (GtkPrintBackend *backend, + gchar **auth_info_required, +- gchar **auth_info); ++ gchar **auth_info, ++ gboolean store_auth_info); + + void overwrite_and_free (gpointer data); + static gboolean is_address_local (const gchar *address); + static gboolean request_auth_info (gpointer data); ++static void lookup_auth_info (gpointer data); + + #ifdef HAVE_CUPS_API_1_6 + static void avahi_request_printer_list (GtkPrintBackendCups *cups_backend); + #endif + ++static void secrets_service_appeared_cb (GDBusConnection *connection, ++ const gchar *name, ++ const gchar *name_owner, ++ gpointer user_data); ++static void secrets_service_vanished_cb (GDBusConnection *connection, ++ const gchar *name, ++ gpointer user_data); ++ + static void + gtk_print_backend_cups_register_type (GTypeModule *module) + { +@@ -788,6 +802,13 @@ gtk_print_backend_cups_init (GtkPrintBackendCups *backend_cups) + #endif + + cups_get_local_default_printer (backend_cups); ++ ++ backend_cups->secrets_service_available = FALSE; ++ backend_cups->secrets_service_cancellable = g_cancellable_new (); ++ backend_cups->secrets_service_watch_id = ++ gtk_cups_secrets_service_watch (secrets_service_appeared_cb, ++ secrets_service_vanished_cb, ++ backend_cups); + } + + static void +@@ -820,6 +841,12 @@ gtk_print_backend_cups_finalize (GObject *object) + g_clear_object (&backend_cups->dbus_connection); + #endif + ++ g_clear_object (&backend_cups->secrets_service_cancellable); ++ if (backend_cups->secrets_service_watch_id != 0) ++ { ++ g_bus_unwatch_name (backend_cups->secrets_service_watch_id); ++ } ++ + backend_parent_class->finalize (object); + } + +@@ -935,7 +962,8 @@ httpGetHostname(http_t *http, + static void + gtk_print_backend_cups_set_password (GtkPrintBackend *backend, + gchar **auth_info_required, +- gchar **auth_info) ++ gchar **auth_info, ++ gboolean store_auth_info) + { + GtkPrintBackendCups *cups_backend = GTK_PRINT_BACKEND_CUPS (backend); + GList *l; +@@ -988,6 +1016,17 @@ gtk_print_backend_cups_set_password (GtkPrintBackend *backend, + for (i = 0; i < length; i++) + dispatch->request->auth_info[i] = g_strdup (auth_info[i]); + } ++ /* Save the password if the user requested it */ ++ if (password != NULL && store_auth_info) ++ { ++ const gchar *printer_uri = ++ gtk_cups_request_ipp_get_string (dispatch->request, ++ IPP_TAG_URI, ++ "printer-uri"); ++ ++ gtk_cups_secrets_service_store (auth_info, auth_info_required, ++ printer_uri); ++ } + dispatch->backend->authentication_lock = FALSE; + dispatch->request->need_auth_info = FALSE; + } +@@ -1115,7 +1154,7 @@ request_password (gpointer data) + g_free (printer_name); + + g_signal_emit_by_name (dispatch->backend, "request-password", +- auth_info_required, auth_info_default, auth_info_display, auth_info_visible, prompt); ++ auth_info_required, auth_info_default, auth_info_display, auth_info_visible, prompt, FALSE); + + g_free (prompt); + } +@@ -1223,6 +1262,98 @@ check_auth_info (gpointer user_data) + return TRUE; + } + ++static void ++lookup_auth_info_cb (GObject *source_object, ++ GAsyncResult *res, ++ gpointer user_data) ++{ ++ GTask *task; ++ GtkPrintCupsDispatchWatch *dispatch; ++ gchar **auth_info; ++ GError *error = NULL; ++ gint i; ++ ++ task = (GTask *) res; ++ dispatch = user_data; ++ auth_info = g_task_propagate_pointer (task, &error); ++ ++ if (auth_info == NULL) ++ { ++ if (error != NULL) ++ { ++ GTK_NOTE (PRINTING, ++ g_print ("Failed to look up auth info: %s\n", error->message)); ++ g_error_free (error); ++ } ++ else ++ { ++ /* Error note should have been shown by the function causing this */ ++ GTK_NOTE (PRINTING, g_print ("Failed to look up auth info.\n")); ++ } ++ dispatch->backend->authentication_lock = FALSE; ++ g_object_unref (task); ++ request_auth_info (dispatch); ++ return; ++ } ++ ++ gtk_print_backend_cups_set_password (GTK_PRINT_BACKEND (dispatch->backend), ++ dispatch->request->auth_info_required, auth_info, ++ FALSE); ++ for (i = 0; auth_info[i] != NULL; i++) ++ { ++ overwrite_and_free (auth_info[i]); ++ auth_info[i] = NULL; ++ } ++ g_clear_pointer (auth_info, g_free); ++ ++ g_object_unref (task); ++} ++ ++static void ++lookup_auth_info (gpointer user_data) ++{ ++ GtkPrintCupsDispatchWatch *dispatch; ++ gsize length, ++ i; ++ gboolean need_secret_auth_info = FALSE; ++ const gchar *printer_uri; ++ ++ dispatch = user_data; ++ ++ if (dispatch->backend->authentication_lock) ++ return; ++ ++ length = g_strv_length (dispatch->request->auth_info_required); ++ ++ for (i = 0; i < length; i++) ++ { ++ if (g_strcmp0 (dispatch->request->auth_info_required[i], "password") == 0) ++ { ++ need_secret_auth_info = TRUE; ++ break; ++ } ++ } ++ ++ g_idle_add (check_auth_info, user_data); ++ ++ if (dispatch->backend->secrets_service_available && need_secret_auth_info) ++ { ++ dispatch->backend->authentication_lock = TRUE; ++ printer_uri = gtk_cups_request_ipp_get_string (dispatch->request, ++ IPP_TAG_URI, ++ "printer-uri"); ++ gtk_cups_secrets_service_query_task (dispatch->backend, ++ dispatch->backend->secrets_service_cancellable, ++ lookup_auth_info_cb, ++ dispatch, ++ printer_uri, ++ dispatch->request->auth_info_required); ++ return; ++ } ++ ++ request_auth_info (user_data); ++} ++ + static gboolean + request_auth_info (gpointer user_data) + { +@@ -1299,7 +1430,8 @@ request_auth_info (gpointer user_data) + auth_info_default, + auth_info_display, + auth_info_visible, +- prompt); ++ prompt, ++ dispatch->backend->secrets_service_available); + + for (i = 0; i < length; i++) + { +@@ -1312,8 +1444,6 @@ request_auth_info (gpointer user_data) + g_free (printer_name); + g_free (prompt); + +- g_idle_add (check_auth_info, user_data); +- + return FALSE; + } + +@@ -1514,7 +1644,7 @@ cups_request_execute (GtkPrintBackendCups *print_backend, + { + dispatch->callback = callback; + dispatch->callback_data = user_data; +- request_auth_info (dispatch); ++ lookup_auth_info (dispatch); + } + else + { +@@ -5762,3 +5892,24 @@ cups_printer_get_capabilities (GtkPrinter *printer) + + return capabilities; + } ++ ++static void ++secrets_service_appeared_cb (GDBusConnection *connection, ++ const gchar *name, ++ const gchar *name_owner, ++ gpointer user_data) ++{ ++ GtkPrintBackendCups *backend = GTK_PRINT_BACKEND_CUPS (user_data); ++ ++ backend->secrets_service_available = TRUE; ++} ++ ++static void ++secrets_service_vanished_cb (GDBusConnection *connection, ++ const gchar *name, ++ gpointer user_data) ++{ ++ GtkPrintBackendCups *backend = GTK_PRINT_BACKEND_CUPS (user_data); ++ ++ backend->secrets_service_available = FALSE; ++} +-- +1.9.1 + diff --git a/gtk2-bnc130159-bgo319483-async-selection-in-gtk-font-selection.diff b/gtk2-bnc130159-bgo319483-async-selection-in-gtk-font-selection.diff new file mode 100644 index 0000000..9882a65 --- /dev/null +++ b/gtk2-bnc130159-bgo319483-async-selection-in-gtk-font-selection.diff @@ -0,0 +1,267 @@ +Index: gtk+-2.16.0/gtk/gtkfontsel.c +=================================================================== +--- gtk+-2.16.0.orig/gtk/gtkfontsel.c ++++ gtk+-2.16.0/gtk/gtkfontsel.c +@@ -588,11 +588,24 @@ static void + gtk_font_selection_finalize (GObject *object) + { + GtkFontSelection *fontsel; ++ guint selection_timeout; + + g_return_if_fail (GTK_IS_FONT_SELECTION (object)); + + fontsel = GTK_FONT_SELECTION (object); + ++ selection_timeout = GPOINTER_TO_UINT (g_object_get_data (G_OBJECT (fontsel), "font-selection-timeout")); ++ if (selection_timeout) ++ g_source_remove (selection_timeout); ++ ++ selection_timeout = GPOINTER_TO_UINT (g_object_get_data (G_OBJECT (fontsel), "style-selection-timeout")); ++ if (selection_timeout) ++ g_source_remove (selection_timeout); ++ ++ selection_timeout = GPOINTER_TO_UINT (g_object_get_data (G_OBJECT (fontsel), "size-selection-timeout")); ++ if (selection_timeout) ++ g_source_remove (selection_timeout); ++ + if (fontsel->font) + gdk_font_unref (fontsel->font); + +@@ -631,6 +644,9 @@ gtk_font_selection_reload_fonts (GtkFont + PangoFontDescription *desc; + desc = gtk_font_selection_get_font_description (fontsel); + ++ /* Disable selection timeout */ ++ g_object_set_data (G_OBJECT (fontsel), "immediate-selection", GUINT_TO_POINTER (1)); ++ + gtk_font_selection_show_available_fonts (fontsel); + gtk_font_selection_show_available_sizes (fontsel, TRUE); + gtk_font_selection_show_available_styles (fontsel); +@@ -638,6 +654,9 @@ gtk_font_selection_reload_fonts (GtkFont + gtk_font_selection_select_font_desc (fontsel, desc, NULL, NULL); + gtk_font_selection_scroll_to_selection (fontsel); + ++ /* Enable selection timeout */ ++ g_object_set_data (G_OBJECT (fontsel), "immediate-selection", GUINT_TO_POINTER (0)); ++ + pango_font_description_free (desc); + } + } +@@ -714,10 +733,10 @@ gtk_font_selection_scroll_on_map (GtkWid + } + + /* This is called when a family is selected in the list. */ +-static void +-gtk_font_selection_select_font (GtkTreeSelection *selection, +- gpointer data) ++static gboolean ++gtk_font_selection_real_select_font (gpointer data) + { ++ GtkTreeSelection *selection; + GtkFontSelection *fontsel; + GtkTreeModel *model; + GtkTreeIter iter; +@@ -725,7 +744,11 @@ gtk_font_selection_select_font (GtkTreeS + const gchar *family_name; + #endif + ++ if (!g_object_get_data (G_OBJECT (data), "immediate-selection")) ++ GDK_THREADS_ENTER (); ++ + fontsel = GTK_FONT_SELECTION (data); ++ selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (fontsel->family_list)); + + if (gtk_tree_selection_get_selected (selection, &model, &iter)) + { +@@ -747,6 +770,40 @@ gtk_font_selection_select_font (GtkTreeS + + g_object_unref (family); + } ++ ++ g_object_set_data (G_OBJECT (fontsel), "font-selection-timeout", GUINT_TO_POINTER (0)); ++ ++ if (!g_object_get_data (G_OBJECT (fontsel), "immediate-selection")) ++ GDK_THREADS_LEAVE (); ++ ++ /* Remove ourselves */ ++ return FALSE; ++} ++ ++static void ++gtk_font_selection_select_font (GtkTreeSelection *selection, ++ gpointer data) ++{ ++ GtkFontSelection *fontsel; ++ guint selection_timeout = 0; ++ guint immediate_selection = 0; ++ ++ fontsel = GTK_FONT_SELECTION (data); ++ selection_timeout = GPOINTER_TO_UINT (g_object_get_data (G_OBJECT (fontsel), "font-selection-timeout")); ++ immediate_selection = GPOINTER_TO_UINT (g_object_get_data (G_OBJECT (fontsel), "immediate-selection")); ++ ++ if (selection_timeout) ++ g_source_remove (selection_timeout); ++ ++ if (immediate_selection) ++ { ++ gtk_font_selection_real_select_font (data); ++ } ++ else ++ { ++ selection_timeout = g_timeout_add (200, gtk_font_selection_real_select_font, data); ++ g_object_set_data (G_OBJECT (fontsel), "font-selection-timeout", GUINT_TO_POINTER (selection_timeout)); ++ } + } + + static int +@@ -949,14 +1006,20 @@ gtk_font_selection_select_best_style (Gt + + + /* This is called when a style is selected in the list. */ +-static void +-gtk_font_selection_select_style (GtkTreeSelection *selection, +- gpointer data) ++static gboolean ++gtk_font_selection_real_select_style (gpointer data) + { +- GtkFontSelection *fontsel = GTK_FONT_SELECTION (data); ++ GtkTreeSelection *selection; ++ GtkFontSelection *fontsel; + GtkTreeModel *model; + GtkTreeIter iter; + ++ if (!g_object_get_data (G_OBJECT (data), "immediate-selection")) ++ GDK_THREADS_ENTER (); ++ ++ fontsel = GTK_FONT_SELECTION (data); ++ selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (fontsel->face_list)); ++ + if (gtk_tree_selection_get_selected (selection, &model, &iter)) + { + PangoFontFace *face; +@@ -968,6 +1031,40 @@ gtk_font_selection_select_style (GtkTree + + gtk_font_selection_show_available_sizes (fontsel, FALSE); + gtk_font_selection_select_best_size (fontsel); ++ ++ g_object_set_data (G_OBJECT (fontsel), "style-selection-timeout", GUINT_TO_POINTER (0)); ++ ++ if (!g_object_get_data (G_OBJECT (fontsel), "immediate-selection")) ++ GDK_THREADS_LEAVE (); ++ ++ /* Remove ourselves */ ++ return FALSE; ++} ++ ++static void ++gtk_font_selection_select_style (GtkTreeSelection *selection, ++ gpointer data) ++{ ++ GtkFontSelection *fontsel; ++ guint selection_timeout = 0; ++ guint immediate_selection = 0; ++ ++ fontsel = GTK_FONT_SELECTION (data); ++ selection_timeout = GPOINTER_TO_UINT (g_object_get_data (G_OBJECT (fontsel), "style-selection-timeout")); ++ immediate_selection = GPOINTER_TO_UINT (g_object_get_data (G_OBJECT (fontsel), "immediate-selection")); ++ ++ if (selection_timeout) ++ g_source_remove (selection_timeout); ++ ++ if (immediate_selection) ++ { ++ gtk_font_selection_real_select_style (data); ++ } ++ else ++ { ++ selection_timeout = g_timeout_add (200, gtk_font_selection_real_select_style, data); ++ g_object_set_data (G_OBJECT (fontsel), "style-selection-timeout", GUINT_TO_POINTER (selection_timeout)); ++ } + } + + static void +@@ -1100,22 +1197,60 @@ gtk_font_selection_size_focus_out (GtkWi + } + + /* This is called when a size is selected in the list. */ +-static void +-gtk_font_selection_select_size (GtkTreeSelection *selection, +- gpointer data) ++static gboolean ++gtk_font_selection_real_select_size (gpointer data) + { ++ GtkTreeSelection *selection; + GtkFontSelection *fontsel; + GtkTreeModel *model; + GtkTreeIter iter; + gint new_size; + ++ if (!g_object_get_data (G_OBJECT (data), "immediate-selection")) ++ GDK_THREADS_ENTER (); ++ + fontsel = GTK_FONT_SELECTION (data); +- ++ selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (fontsel->size_list)); ++ + if (gtk_tree_selection_get_selected (selection, &model, &iter)) + { + gtk_tree_model_get (model, &iter, SIZE_COLUMN, &new_size, -1); + gtk_font_selection_set_size (fontsel, new_size * PANGO_SCALE); + } ++ ++ g_object_set_data (G_OBJECT (fontsel), "size-selection-timeout", GUINT_TO_POINTER (0)); ++ ++ if (!g_object_get_data (G_OBJECT (fontsel), "immediate-selection")) ++ GDK_THREADS_LEAVE (); ++ ++ /* Remove ourselves */ ++ return FALSE; ++} ++ ++static void ++gtk_font_selection_select_size (GtkTreeSelection *selection, ++ gpointer data) ++{ ++ GtkFontSelection *fontsel; ++ guint selection_timeout = 0; ++ guint immediate_selection = 0; ++ ++ fontsel = GTK_FONT_SELECTION (data); ++ selection_timeout = GPOINTER_TO_UINT (g_object_get_data (G_OBJECT (fontsel), "size-selection-timeout")); ++ immediate_selection = GPOINTER_TO_UINT (g_object_get_data (G_OBJECT (fontsel), "immediate-selection")); ++ ++ if (selection_timeout) ++ g_source_remove (selection_timeout); ++ ++ if (immediate_selection) ++ { ++ gtk_font_selection_real_select_size (data); ++ } ++ else ++ { ++ selection_timeout = g_timeout_add (200, gtk_font_selection_real_select_size, data); ++ g_object_set_data (G_OBJECT (fontsel), "size-selection-timeout", GUINT_TO_POINTER (selection_timeout)); ++ } + } + + static void +@@ -1449,6 +1584,9 @@ gtk_font_selection_select_font_desc (Gtk + if (!new_family) + return FALSE; + ++ /* Disable selection timeout */ ++ g_object_set_data (G_OBJECT (fontsel), "immediate-selection", GUINT_TO_POINTER (1)); ++ + if (pfamily) + *pfamily = new_family; + else +@@ -1499,6 +1637,9 @@ gtk_font_selection_select_font_desc (Gtk + + gtk_font_selection_set_size (fontsel, pango_font_description_get_size (new_desc)); + ++ /* Enable selection timeout */ ++ g_object_set_data (G_OBJECT (fontsel), "immediate-selection", GUINT_TO_POINTER (0)); ++ + return TRUE; + } + diff --git a/gtk2-default-printer.patch b/gtk2-default-printer.patch new file mode 100644 index 0000000..d6ad689 --- /dev/null +++ b/gtk2-default-printer.patch @@ -0,0 +1,24 @@ +From bd9ed0462cbfb84b7c273c50f7ccb916ef6ff108 Mon Sep 17 00:00:00 2001 +From: Chenthill Palanisamy +Date: Tue, 5 Nov 2013 13:30:33 +0100 +Subject: [PATCH] Do not reset the waiting_for_printer on status change + +* gtk/gtkprintunixdialog.c (printer_status_cb): Do not reset the +waiting_for_printer on status change as the default printer might +get added later. + +https://bugzilla.gnome.org/show_bug.cgi?id=577642 + +diff -ur gtk+-2.24.22.orig/gtk/gtkprintunixdialog.c gtk+-2.24.22/gtk/gtkprintunixdialog.c +--- gtk+-2.24.22.orig/gtk/gtkprintunixdialog.c 2014-02-07 14:05:41.432196666 -0600 ++++ gtk+-2.24.22/gtk/gtkprintunixdialog.c 2014-02-07 14:06:08.037864049 -0600 +@@ -800,7 +800,9 @@ + /* When the pause state change then we need to update sensitive property + * of GTK_RESPONSE_OK button inside of selected_printer_changed function. */ + selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (priv->printer_treeview)); ++ priv->internal_printer_change = TRUE; + selected_printer_changed (selection, dialog); ++ priv->internal_printer_change = FALSE; + + if (gtk_print_backend_printer_list_is_done (backend) && + gtk_printer_is_default (printer) && diff --git a/gtk2-rpmlintrc b/gtk2-rpmlintrc new file mode 100644 index 0000000..b441f81 --- /dev/null +++ b/gtk2-rpmlintrc @@ -0,0 +1,5 @@ +# Legacy package, gtk2 internally is the only consumer of libgail +addFilter("shlib-policy-name-error SONAME: libgailutil.so.18"); +# rpmlint error, the library shares so-version info and is allowed in the main package +addFilter("shlib-policy-name-error SONAME: libg[dt]k-x11-2.0.so.0"); + diff --git a/gtk2-updateiconcache_sort.patch b/gtk2-updateiconcache_sort.patch new file mode 100644 index 0000000..d52672e --- /dev/null +++ b/gtk2-updateiconcache_sort.patch @@ -0,0 +1,97 @@ +--- a/gtk/updateiconcache.c ++++ b/gtk/updateiconcache.c +@@ -37,6 +37,7 @@ + #include + #endif + ++#include + #include + #include + #undef GDK_PIXBUF_DISABLE_DEPRECATED +@@ -594,6 +595,50 @@ replace_backslashes_with_slashes (gchar + path[i] = '/'; + } + ++struct sortdir { ++ struct dirent **nl; ++ int cur; ++ int max; ++}; ++ ++static const gchar *sort_item(struct sortdir *sd) ++{ ++ while (sd->cur >= 0) { ++ if (strcmp (sd->nl[sd->cur]->d_name, "..") == 0) ++ { ++ sd->cur--; ++ continue; ++ } ++ if (strcmp (sd->nl[sd->cur]->d_name, ".") == 0) ++ { ++ sd->cur--; ++ continue; ++ } ++ return sd->nl[sd->cur--]->d_name; ++ } ++ return NULL; ++} ++ ++static gboolean sort_open(char *path, struct sortdir *sd) ++{ ++ int n; ++ ++ n = scandir(path, &sd->nl, NULL, alphasort); ++ if (n <= 0) ++ return FALSE; ++ sd->max = sd->cur = n - 1; ++ return TRUE; ++} ++ ++static void sort_close(struct sortdir *sd) ++{ ++ int i; ++ ++ for (i = sd->max; i >= 0; i--) ++ free(sd->nl[i]); ++ free(sd->nl); ++} ++ + static GList * + scan_directory (const gchar *base_path, + const gchar *subdir, +@@ -602,7 +647,7 @@ scan_directory (const gchar *base_path, + gint depth) + { + GHashTable *dir_hash; +- GDir *dir; ++ struct sortdir sortdir; + const gchar *name; + gchar *dir_path; + gboolean dir_added = FALSE; +@@ -610,15 +655,12 @@ scan_directory (const gchar *base_path, + + dir_path = g_build_path ("/", base_path, subdir, NULL); + +- /* FIXME: Use the gerror */ +- dir = g_dir_open (dir_path, 0, NULL); +- +- if (!dir) ++ if (sort_open(dir_path, &sortdir) == FALSE) + return directories; + + dir_hash = g_hash_table_new (g_str_hash, g_str_equal); + +- while ((name = g_dir_read_name (dir))) ++ while ((name = sort_item(&sortdir))) + { + gchar *path; + gboolean retval; +@@ -698,7 +740,7 @@ scan_directory (const gchar *base_path, + g_free (path); + } + +- g_dir_close (dir); ++ sort_close(&sortdir); + + /* Move dir into the big file hash */ + g_hash_table_foreach_remove (dir_hash, foreach_remove_func, files); diff --git a/gtk2.changes b/gtk2.changes new file mode 100644 index 0000000..661c44e --- /dev/null +++ b/gtk2.changes @@ -0,0 +1,4013 @@ +------------------------------------------------------------------- +Fri Jul 26 21:40:11 UTC 2024 - Michael Gorse + +- Add CVE-2024-6655.patch: CVE-2024-6655 Stop looking for modules + in cwd (bsc#1228120). + +------------------------------------------------------------------- +Mon Aug 15 19:13:13 UTC 2022 - Dirk Müller + +- avoid bashism in baselibs postscript (bsc#1195391) + +------------------------------------------------------------------- +Thu Aug 11 16:25:30 UTC 2022 - Dominique Leuenberger + +- Replace atk-devel with pkgconfig(atk): closer match what + configure checks for and, more importantly, don't care for atk.pc + moving to at-spi2-core. + +------------------------------------------------------------------- +Thu Oct 21 09:23:07 UTC 2021 - Dominique Leuenberger + +- Add gtk2-rpmlintrc (boo#1191758): + + Filter wrong split request for libgdk-x11-2.0.so.0: the + library shares the version info with gtk2 and is allowed to be + in the same library package. + + Filter libgail.so.18 split request: the error is actually + correct, but gtk2 being a legacy package does not justify the + extra efort. The libgtk-2_0-0 package is the only consumer. + +------------------------------------------------------------------- +Tue Dec 22 16:59:43 UTC 2020 - Bjørn Lie + +- Update to version 2.24.33: + + This is the final GTK 2.x release. There will be no more + updates to GTK 2. All users are encouraged to update to GTK 3 + or 4. + + Make the output of gtk-query-immodules deterministic. + + GtkCalendar: Use %OB if supported. + + GtkIconTheme: prefer exact matches. + + build: + - Support automake 1.16. + - Fix compiler warnings with newer gcc. + +------------------------------------------------------------------- +Sun Jul 12 12:26:32 UTC 2020 - bjorn.lie@gmail.com + +- Update to version 2.24.32+70: + * Resolve GIMP segfault from accessing memory past end of pixbuf + Fixes https://gitlab.gnome.org/GNOME/gtk/-/issues/2684 + * Use bundle id instead of package name for the macOS preview as + filename is now changed. + +------------------------------------------------------------------- +Sat Jan 25 14:14:21 UTC 2020 - Dominique Leuenberger + +- No longer recommend -lang: supplements are in use + +------------------------------------------------------------------- +Tue Dec 17 10:00:32 UTC 2019 - Frederic Crozat + +- Add Obsoletes/Provides to baselibs.conf to ensure + gtk2-immodule-tigrigna-32bit can be upgraded from old version. + +------------------------------------------------------------------- +Tue Dec 10 11:07:08 UTC 2019 - Michael Vetter + +- bsc#1158897: Remove dependency on jasper (due to planned removal) + Removes JPEG2000 support. + +------------------------------------------------------------------- +Tue Nov 19 12:17:29 UTC 2019 - dimstar@opensuse.org + +- Update to version 2.24.32+67: + * Do not use VIQR input method for vi locale by default + * Add CI for gtk-2-24 + * win32: Remove extraneous changes + +------------------------------------------------------------------- +Wed Sep 11 10:16:49 UTC 2019 - dimstar@opensuse.org + +- Update to version 2.24.32+62 (boo#1147106): + * gtk-builder-convert: Update bug report URL. + * gtk-builder-convert: Remove compat code for Python 2.3 and + * below. + * Make gtk-builder-convert compatible with Python 3. + * Fix use-after-free due to unexpected unref of context->default_style. + * Visual Studio builds: Fix previous commit. + * Visual Studio builds: "Add" Visual Studio 2019 projects. +- Drop gtk2-converter-python3.patch: fixed upstream. +- Replace shebang in ./gtk/gtk-builder-convert using sed (use + python3). + +------------------------------------------------------------------- +Wed May 8 09:32:03 UTC 2019 - Dominique Leuenberger + +- Move RPM macros to %_rpmmacrodir. + +------------------------------------------------------------------- +Tue Apr 16 19:24:13 UTC 2019 - bjorn.lie@gmail.com + +- Update to version 2.24.32+54: + + Force redraw on Mojave and later when processing updates. + + Fix UAC manifest RC file + + atk key: Always convert control character events into key names + + icontheme: Fix annotations on array arguments + + MSVC introspection: Make more robust and avoid confusion + + Revert "gdk: deactivation/activate window on keyboard grabs" + + gtk/gtkiconcache.c: Fix running on GLib-2.57.3 or later on + Windows + + MSVC builds: Fix pkg-config file generation + + MSVC builds: Improve pkg-config files generation + + [gdk|gtk]/Makefile.am: Fix CFlags passed to introspecion on + MSVC +- Switch to gitcheckout of stable branch again, upstream is not + making releases. +- Drop 0001-build-support-automake-1.16.patch: Fixed upstream. + +------------------------------------------------------------------- +Thu Aug 9 11:33:37 UTC 2018 - tchvatal@suse.com + +- Fix package name to be uniform immodules -> immodule bsc#1104264 + +------------------------------------------------------------------- +Wed Apr 18 19:01:07 UTC 2018 - bjorn.lie@gmail.com + +- Update _service to point to new + https://gitlab.gnome.org/GNOME/gtk.git home. + +------------------------------------------------------------------- +Tue Mar 27 14:29:49 UTC 2018 - dimstar@opensuse.org + +- Add 0001-build-support-automake-1.16.patch: Support automake + 1.16. + +------------------------------------------------------------------- +Tue Mar 20 17:13:36 UTC 2018 - dimstar@opensuse.org + +- Unconditionally enable translation-update-upstream: on + Tumbleweed, this results in a NOP and for Leap in SLE paid + translations being used (boo#1086036). + +------------------------------------------------------------------- +Mon Feb 26 11:30:07 UTC 2018 - dimstar@opensuse.org + +- Use SPDX3.0 license tags and package COPYING as %license + +------------------------------------------------------------------- +Tue Jan 09 16:30:24 UTC 2018 - zaitor@opensuse.org + +- Update to version 2.24.32: + + Fix abicheck. +- Use the release version as revision and set versionformat to + PARENT_TAG, ensure we build the upstream released tag. + +------------------------------------------------------------------- +Fri Dec 29 00:02:17 UTC 2017 - jengelh@inai.de + +- Sync summaries with gtk4. + +------------------------------------------------------------------- +Tue Dec 26 01:55:39 UTC 2017 - yfjiang@suse.com + +- Manually move the position of "Group System/Libraries" line, + which was moved automatically by format_spec_file, above the + comment of "Requires: hicolor-icon-theme": + + https://lists.opensuse.org/opensuse-packaging/2017-07/msg00062.html + +------------------------------------------------------------------- +Thu Dec 21 20:17:29 UTC 2017 - zaitor@opensuse.org + +- Update to version 2.24.31+20171209.61d5c82f5c: + + Fix updating the widget accessible description when using its + tooltip + + Fix introspection builds on Visual Studio 2017 + + imcontextxim: Fix showing glyph in status window + + Visual Studio builds: Improve binary security + + Fixed: If can’t add child, don’t add to child info + + ComboBox: Don’t let modes disconnect each other + + Enter submenus when activating their parent item + + ComboBox: Don’t pile up ::grab-broken handlers + + testcombo: Test grid :row- and :column-span-column + + Updated translations. +- Switch to git checkout via source service. +- Following the above, remove gnome-common BuildRequires and + gnome-autogen.sh call. Replace with libtool BuildRequires and + autogen.sh call, also add gtk-doc BuildRequires and pass + --enable-gtk-doc to configure. +- Clean up patch numbering. +- Drop gtk2-window-dragging.patch: Fixed upstream (bgo#554057). +- Drop bugzilla-131498-allow-xim-for-all-languages.patch: This + patch was only applied to work around a missing recommends for + scim-32Bit, stop doing that, as we should not fix errors in other + packages in a toolkit. +- Conditionally apply translations-update-upstream BuildRequires + and macro for non-openSUSE only. + +------------------------------------------------------------------- +Tue Dec 5 11:44:50 UTC 2017 - dimstar@opensuse.org + +- Switch to using python3: + + Replace -devel's python2-xml Requires with python3-xml. + + Add gtk2-converter-python3.patch: convert gtk-build-converter + to be a python3 script. + +------------------------------------------------------------------- +Wed Nov 1 14:13:22 UTC 2017 - mpluskal@suse.com + +- Explicitly require python2 modules for devel package +- Cleanup with spec-cleaner + +------------------------------------------------------------------- +Tue Jun 27 12:26:52 UTC 2017 - dimstar@opensuse.org + +- Migrate %icon_theme_cache_post/postun macro from + hicolor-icon-theme to gtk2-tools file triggers. Any package + installing icons below /usr/share/icons will trigger. Each + package will produce the cache for every icon theme being + updated. The same trigger is also added to gtk3-tools, where only + the one owning the current instance of + /usr/bin/gtk-update-icon-cache update-alternatie link actually + executes the update. + +------------------------------------------------------------------- +Wed Jun 14 08:01:41 UTC 2017 - olaf@aepfle.de + +- Add gtk2-updateiconcache_sort.patch: have gtk-update-icon-cache + sort directory entries when creating caches. The build system + uses this to produce an embedded cache for the stock icons. With + this, we can have reproducible builds. + +------------------------------------------------------------------- +Tue Sep 13 03:13:00 UTC 2016 - mgorse@suse.com + +- Update to version 2.24.31 (CVE-2013-7447, bgo#703220): + + Backport many file chooser entry fixes and cleanups. + + Don't crash if invisible files are deleted. + + Bugs fixed: bgo#555087, bgo#586367, bgo#635287, bgo#640698, + bgo#648419, bgo#672271, bgo#679333, bgo#687196, bgo#703220 + (CVE-2013-7447), bgo#720330, bgo#729927, bgo#737777, + bgo#752707, bgo#756450, bgo#765120, bgo#765193, bgo#768163, + bgo#764996, bgo#769126. +- Rebase gtk2-bgo743166-remember-printing-authentication.patch. +- Drop gtk2-bgo737777-fix-printing-authentication-crash.patch and + gtk2-bnc957400-filechooserentry-update.patch: fixed upstream. + +------------------------------------------------------------------- +Thu Aug 11 10:14:03 UTC 2016 - dimstar@opensuse.org + +- Fix update-alterntatives usage. + +------------------------------------------------------------------- +Thu Apr 14 11:39:01 UTC 2016 - idonmez@suse.com + +- Update to GNOME 3.20 Fate#318572 + +------------------------------------------------------------------- +Thu Mar 10 16:10:15 CST 2016 - federico@suse.com + +- Add gtk2-bnc957400-filechooserentry-update.patch. This updates + the Tab completion code in GtkFileChooser, so it works the same + as in gtk3 (bnc#957400). The patch was associated with upstream + commits: 55764ddd, 191d1cd90, 92d45e12, 8f9487f + +------------------------------------------------------------------- +Sun Mar 6 10:56:37 UTC 2016 - zaitor@opensuse.org + +- Update to version 2.24.30: + + Win32: Build fixes. + + X11: Support Randr 1.5 monitor information. + + Bugs fixed: bgo#722815, bgo#612611, bgo#699652, bgo#698652, + bgo#758893. + + Updated translations. +- Drop gtk2-Deliver-GdkModifierType-during-drag-motion.patch and + gtk2-randr-1.5-monitor-support.patch: Fixed upstream. + +------------------------------------------------------------------- +Fri Jan 15 09:35:50 UTC 2016 - zaitor@opensuse.org + +- Add gtk2-Deliver-GdkModifierType-during-drag-motion.patch: + Deliver GdkModifierType during 'drag-motion' (bgo#722815). Patch + from upstream git. + +------------------------------------------------------------------- +Mon Dec 28 15:54:03 UTC 2015 - zaitor@opensuse.org + +- Add gtk2-randr-1.5-monitor-support.patch: Adds support for using + the newly introduced monitor objects in the XRandR protocol. + Patch from upstream git (bgo#759912). + +------------------------------------------------------------------- +Fri Dec 11 10:32:33 UTC 2015 - dimstar@opensuse.org + +- Update to version 2.24.29: + + OS X: Partial aspect ratio support. + + Bugs fixed: bgo#345345, bgo#745127, bgo#749507, bgo#752638, + bgo#753644, bgo#753691, bgo#753992, bgo#754046. + + Updated translations. +- Drop gtk2-gdk_region_destroy_instead_of_cairo_region_destroy: + fixed upstream. + +------------------------------------------------------------------- +Mon Aug 31 08:17:36 UTC 2015 - dimstar@opensuse.org + +- gtk2-gdk_region_destroy_instead_of_cairo_region_destroy.patch + added: Fix a wrong function call. + +------------------------------------------------------------------- +Mon Jun 1 11:16:14 UTC 2015 - joschibrauchle@gmx.de + +- Add two patches to fix boo#933034: + + Add gtk2-bgo743166-remember-printing-authentication.patch: + Allow credentials from gnome-keyring to be used for printing + in GTK 2 (bgo#743166) + + Add gtk2-bgo737777-fix-printing-authentication-crash.patch: + Fix applications from randomly crashing while printing with + a password-secured SMB printer (bgo#737777) + +------------------------------------------------------------------- +Wed May 13 13:59:20 UTC 2015 - zaitor@opensuse.org + +- Update to version 2.24.28: + + Bugs fixed: bgo#693738, bgo#746064, bgo#746269, bgo#748014. + +------------------------------------------------------------------- +Wed Mar 4 08:52:14 UTC 2015 - zaitor@opensuse.org + +- Update to version 2.24.27: + + Don't leak pixel data in some error paths. + + Bugs fixed: bgo#696505, bgo#745052, bgo#745536. + +------------------------------------------------------------------- +Tue Feb 17 08:31:10 UTC 2015 - dimstar@opensuse.org + +- Update to version 2.24.26: + + gailbutton: Avoid a possible NULL dereference. + + label: Avoid a possible NULL dereference. + + Bugs fixed: bgo#635380, bgo#738837, bgo#741060, bgo#741959, + bgo#743544, bgo#743917. +- Drop gtk2-allow-deprecated-gdk-pixbuf-API.patch, + gtk2-gdk_window_begin_paint_region.patch and + gtk2-Do-not-leak-a-cairo-region.patch: fixed upstream. + +------------------------------------------------------------------- +Mon Feb 9 22:03:13 UTC 2015 - zaitor@opensuse.org + +- Add gtk2-Do-not-leak-a-cairo-region.patch: Fix memory leak + (bgo#738837). +- Add gtk2-gdk_window_begin_paint_region.patch: When using the + implicit paint pixmap, always draw to the same surface each time + rather than creating a new one each time. This is both more + effective and more natural (bgo#741060). + +------------------------------------------------------------------- +Tue Nov 25 16:28:13 UTC 2014 - dimstar@opensuse.org + +- Do not package ChangeLog: it's a 2MB plain text file which is not + going to be read ever by anybody. NEWS contains similar + information in a more approachable way. + +------------------------------------------------------------------- +Tue Nov 25 13:38:51 UTC 2014 - dimstar@opensuse.org + +- Add gtk2-allow-deprecated-gdk-pixbuf-API.patch: Allow deprecated + gdk-pixbuf API, taken from git. + +------------------------------------------------------------------- +Sun Nov 09 04:18:00 UTC 2014 - Led + +- fix bashism in post script + +------------------------------------------------------------------- +Fri Oct 10 17:59:02 UTC 2014 - dimstar@opensuse.org + +- Update to version 2.24.25: + + Avoid a crash when using the pixbuf engine outside GTK+. + + Build fixes for MS Visual C 2010 and later. + + Bugs fixed: bgo#689138, bgo#705054, bgo#729924, bgo#731582, + bgo#733689, bgo#734563, bgo#734879, bgo#735005, bgo#735428. + + Updated translations. + +------------------------------------------------------------------- +Thu Aug 7 07:56:38 UTC 2014 - fcrozat@suse.com + +- Rename README.SuSE to README.SUSE (bnc#889027). + +------------------------------------------------------------------- +Tue Aug 05 12:00:00 UTC 2014 - ku.b@gmx.de + +- Add gtk2-bgo625202-30-bit-drawables-remain-black.patch: fix + 30-bit drawables remain black (bgo#625202). + +------------------------------------------------------------------- +Tue Jul 1 12:52:34 UTC 2014 - dimstar@opensuse.org + +- Update to version 2.24.24: + + This release changes the default behavior of + gtk-update-icon-cache to not include image data into the icon + cache. Use the new --include-image-data flag to get the old + behavior back. + + Bugs fixed: bgo#686170, bgo#693200, bgo#696232, bgo#711177, + bgo#711553, bgo#721895, bgo#723366, bgo#728745, bgo#731967. + + Updated translations. +- Drop gtk2-print-to-file.patch: fixed upstream. + +------------------------------------------------------------------- +Mon Mar 24 22:00:44 UTC 2014 - mgorse@suse.com + +- Fix memory leak in gtk2-print-to-file.patch (bnc#839089, + bgo#711177). + +------------------------------------------------------------------- +Tue Mar 18 09:32:23 UTC 2014 - dimstar@opensuse.org + +- Update to version 2.24.23: + + Bugs fixed: bgo#634146, bgo#651224, bgo#665507, bgo#671538, + bgo#701751, bgo#704937, bgo#705367, bgo#708119, bgo#708783, + bgo#710936, bgo#711110, bgo#711298, bgo#711552, bgo#712536, + bgo#722496. + +------------------------------------------------------------------- +Fri Feb 7 18:33:55 UTC 2014 - mgorse@suse.com + +- Add gtk2-default-printer.patch: save last-used printer as default + (bgo#577642). + +------------------------------------------------------------------- +Wed Oct 30 20:56:50 UTC 2013 - mgorse@suse.com + +- Add gtk2-print-to-file.patch: fix printing to file with no + directory specified (bnc#839089). + +------------------------------------------------------------------- +Fri Oct 11 15:27:31 UTC 2013 - dimstar@opensuse.org + +- Update to version 2.24.22: + + Look in /usr/share/gtk-2.0 for the default gtkrc file. + + Support building with automake 1.14. + + Updated translations. + +------------------------------------------------------------------- +Tue Sep 17 18:02:45 UTC 2013 - dimstar@opensuse.org + +- Update to version 2.24.21: + + OS X: Various input handling fixes. + + Look for gtkrc in /usr/share/gtk-2.0, in addition to to system + config directories. + + Bugs fixed: bgo#513812, bgo#536767, bgo#692548, bgo#695636, + bgo#698758, bgo#699236, bgo#699673, bgo#701332, bgo#701571, + bgo#703789, bgo#705181, bgo#705182. + + Updated translations. + +------------------------------------------------------------------- +Fri Jul 19 07:09:39 UTC 2013 - vuntz@opensuse.org + +- Update to version 2.24.20: + + Backport changes from GTK+ 3 to look for rc files in system + config dirs in addition to /etc/gtk-2.0 and ~/.gtkrc. + + Backport changes from GTK+ 3 to look for the immodules cache + file in libdir. gtk-query-immodules-2.0 gained an + --update-cache option to write the output to the correct + location. Note that this may require slight adjustment of + distro packaging. + + Bugs fixed: bgo#560337, bgo#649390, bgo#698183, bgo#702455. +- Adapt package for move of immodules cache file to libdir: + - Stop touching/creating %{_sysconfdir}/gtk-2.0/gtk.immodules + (and gtk64.immodules), and instead touch + %{_libdir}/gtk-2.0/%{gtk_binary_version}/immodules.cache. + - Update calls to gtk-query-immodules-2.0 in .spec and in + macros.gtk2 to use --update-cache, instead of redirecting the + output to a file. + - Change all the Requires(post)/Requires(postun) on gtk2-tools to + be versioned >= 2.24.20 because the calls in scriptlets will + now require the new gtk-query-immodules-2.0. + - Remove gtk64.patch: this was needed to have cache files in + /etc. + - Also update baselibs.conf accordingly. +- Add gtk2-GTK_PATH64.patch: contains the remaining part of + gtk64.patch, to use the GTK_PATH64 environment variable on 64bit + systems + +------------------------------------------------------------------- +Mon Jun 17 21:08:09 UTC 2013 - zaitor@opensuse.org + +- Update to version 2.24.19: + + Bugs fixed: bgo#432386, bgo#575767, bgo#694273, bgo#698614, + bgo#700578. + + Updated translations. + +------------------------------------------------------------------- +Mon May 13 17:34:23 UTC 2013 - dimstar@opensuse.org + +- Update to version 2.24.18: + + Bugs fixed: bgo#586367, bgo#674051, bgo#683072, bgo#683983, + bgo#694711, bgo#695003, bgo#695278, bgo#695312, bgo#698563. + + Updated translations. + +------------------------------------------------------------------- +Mon Mar 4 17:22:41 UTC 2013 - dimstar@opensuse.org + +- Update to version 2.24.17: + + GtkFileChooserButton fixes: + - Don't emit file-set signal when the change is not the result + of a user action. + - Don't ever use gtk_file_chooser_get_files. + - Ensure internal consistency when clearing a model. + + Bugs fixed: bgo#690247, bgo#692955, bgo#694742. + +------------------------------------------------------------------- +Mon Feb 18 20:36:33 UTC 2013 - dimstar@opensuse.org + +- Update to version 2.24.16: + + Make GtkItemFactory produce GtkSeparatorMenuItems (bgo#694077). + + GtkFileChooserButton doesn't handle closing its dialog + correctly Reliably stop spinning when a GtkSpinButton is hidden + (bgo#645065). + +------------------------------------------------------------------- +Mon Feb 11 07:26:51 UTC 2013 - dimstar@opensuse.org + +- Update to version 2.24.15: + + Fix scrolling in insensitive modal dialogs. + + Bugs fixed: bgo#626499, bgo#656565, bgo#664640, bgo#669808, + bgo#674556, bgo#679883, bgo#683511, bgo#689810, bgo#689982, + bgo#690788, bgo#692099, bgo#692554, bgo#692810. + + Updated translations. +- Rebase gtk-path-local.patch. + +------------------------------------------------------------------- +Sun Dec 9 17:29:17 UTC 2012 - dimstar@opensuse.org + +- Update to version 2.24.14: + + File chooser: + - Use the bookmarks file from the same XDG location as GTK+ 3 + if present + - Add a setting to specify the startup mode + + Bugs fixed: bgo#577806, bgo#626499, bgo#644906, bgo#652204, + bgo#663990, bgo#668239, bgo#672193, bgo#681845, bgo#682919, + bgo#684419, bgo#685959, bgo#688710, bgo#689235. + + Updated translations. +- The docs have been moved to gtk2 / gdk2 directories in order to + not conflict on file-level with gtk3 (upstream change). + +------------------------------------------------------------------- +Wed Nov 21 20:54:17 UTC 2012 - dimstar@opensuse.org + +- Do not provide typelib-1_0-Gtk-2_0-32bit (baselibs.conf): this + only results in a big mess of duplicate provides. Adding + ($HOSTTYPE) to the typelib() symbols does not work, as we'd + otherwise no longer be able to use them against noarch packages. + +------------------------------------------------------------------- +Wed Oct 24 19:18:57 UTC 2012 - jengelh@inai.de + +- Make gtk2-devel-32bit available on all arches +- Remove redundant tags/sections from specfile + +------------------------------------------------------------------- +Mon Sep 24 07:07:55 UTC 2012 - dimstar@opensuse.org + +- Update to version 2.24.13: + + Implement a gtk-primary-button-warps-slider setting that lets + us adjust scale and scrollbar behaviour according to platform. + + Bugs fixed: bgo#661973, bgo#675365, bgo#674108 + + Updated translations. + +------------------------------------------------------------------- +Mon Sep 3 20:12:09 UTC 2012 - dimstar@opensuse.org + +- Update to version 2.24.12: + + Allow building with automake 1.12 + + Bugs fixed: bgo#616997, bgo#680346, bgo#680901, bgo#681784, + bgo#683070, bgo#683279. + + Updated translations. + +------------------------------------------------------------------- +Sun Jul 15 21:53:55 UTC 2012 - zaitor@opensuse.org + +- Update to version 2.24.11: + + X11: Use _NET_WM_STATE_HIDDEN for iconification when supported. + + Win32: Don't drash when installed in a top-level directory. + + Quartz: + - Make function keys work. + - Fix the build on OS X 10.7. + - Fix manual resizing of windows. + - Handle some key events better (such as dead tilde). + + Iconview: fix autoscroll. + + Printing: fix the build with cups 1.6. + + Bugs fixed: bgo#603559, bgo#640308, bgo#643131, bgo#655065, + bgo#667155, bgo#670093, bgo#670400, bgo#672125, bgo#674556, + bgo#675421, bgo#675835, bgo#676362. + + Updated translations. +- Drop gtk2-immodule-fallback.patch, fixed upstream. + +------------------------------------------------------------------- +Sun Feb 19 16:21:52 UTC 2012 - dimstar@opensuse.org + +- Add pkgconfig() BuildRequires that used to be pulled in by + something else before (but the relayout of xorg-x11 packages + changed this behavior): fontconfig, x11, xcomposite, xcursor, + xdamage, xext, xfixes, xi, xinerama, xrandr, xrender. + +------------------------------------------------------------------- +Tue Feb 7 07:36:17 UTC 2012 - vuntz@opensuse.org + +- Update to version 2.24.10: + + Win32: make gdk_window_raise work again + + Quartz: implement gdk_window_restack + + Printing: fix a crash with custom option handling that was + introduced in 2.24.9 + + Bugs fixed: bgo#665955, bgo#667691. +- Remove xz BuildRequires now that it comes for free in the build + system. + +------------------------------------------------------------------- +Wed Jan 25 07:03:29 UTC 2012 - vuntz@opensuse.org + +- Update to version 2.24.9: + + Implement the editing-canceled property in + GtkCellEditableEventBox + + Backport GtkScale fixes + + Several fixes in the MS-Windows theme + + quartz: fix a race condition when waking up the CGRunLoop + + Several build fixes: + - Add gmodule-2.0 dependency for gtk-query-immodules-2.0 + - introspection: Fix srcdir != builddir builds + + Bugs fixed: bgo#543520, bgo#620240, bgo#629878, bgo#639455, + bgo#662814, bgo#663856, bgo#664238, bgo#665011, bgo#665013, + bgo#667458. +- Add xz BuildRequires because we can't build a package for a + xz-compressed tarball without explicitly specifying that... See + bnc#697467 for more details. +- Drop gtk2-use-gmodule.patch: fixed upstream. + +------------------------------------------------------------------- +Wed Dec 21 03:28:49 UTC 2011 - vuntz@opensuse.org + +- Add gtk2-use-gmodule.patch: fix build by linking + gtk-query-immodules-2.0 to gmodule-2.0; taken from git. +- Update gtk2-window-dragging.patch from Fedora, and really apply + it. + +------------------------------------------------------------------- +Thu Dec 8 22:11:26 UTC 2011 - dimstar@opensuse.org + +- Split typelib files into typelib-1_0-Gtk-2_0 subpackage. +- Add typelib-1_0-Gtk-2_0 Requires to devel subpackage. + +------------------------------------------------------------------- +Tue Nov 15 11:10:55 UTC 2011 - vuntz@opensuse.org + +- Update to version 2.24.8: + + Major Win32 backend update. + + OS X updates. + + Ensure that the MOD1 modifier always means ALT, as this + assumption is already used in many places in Gtk+ + + Search engine backend updated to Tracker 0.12 + + Bugs fixed: bgo#84314, bgo#142874, bgo#169811, bgo#171456, + bgo#324254, bgo#516822, bgo#537296, bgo#542777, bgo#552041, + bgo#574935, bgo#604156, bgo#612359, bgo#631384, bgo#647460, + bgo#650300, bgo#658272, bgo#659565, bgo#661997, bgo#662633, + bgo#662670, bgo#663138, bgo#663182, bgo#663543, bgo#663605. +- Drop gtk2-tracker-0.10.patch: fixed upstream. +- Re-enable parallel build now that it works. + +------------------------------------------------------------------- +Fri Oct 28 18:33:42 UTC 2011 - vuntz@opensuse.org + +- Add gtk3-immodule-fallback.patch: make it possible to specify + fallback input method modules in the GTK_IM_MODULE environment + variable. This is useful in case a module doesn't exist for both + gtk2 and gtk3. Fix bnc#723382. + +------------------------------------------------------------------- +Wed Oct 19 00:08:03 UTC 2011 - kirill.kirillov@gmail.com + +- Add gtk2-window-dragging.patch: this adds support of window + dragging from menubars/toolbars. Fix bgo#611313. + +------------------------------------------------------------------- +Tue Oct 18 06:44:44 UTC 2011 - vuntz@opensuse.org + +- Update to version 2.24.7: + + Filechooser updates: + - Sort recent files by age + - Don't ellipsize filter names + + OS X updates. + + Bugs fixed: bgo#514843, bgo#616544, bgo#617583, bgo#624270, + bgo#628396, bgo#630962, bgo#649979, bgo#653450, bgo#653847, + bgo#655057, bgo#656053, bgo#657186, bgo#657770, bgo#658767, + bgo#658772, bgo#658841, bgo#658842, bgo#659907. + + Updated translations. +- Remove workaround in %prep that disabled the build of a broken + test: fixed upstream. + +------------------------------------------------------------------- +Fri Oct 14 17:20:07 CEST 2011 - sbrabec@suse.cz + +- Fixed translation-update-upstream support (bnc#690180). + +------------------------------------------------------------------- +Wed Aug 31 09:52:22 CEST 2011 - vuntz@opensuse.org + +- Update to version 2.24.6: + + Filechooser updates: + - Remove the expander in Save mode + - Move the path bar up in Save mode + - Remember the last opened directory + - Start in recently-used mode when no folder is set + - Update recent-files when confirming in the file chooser + + Win32 build fixes + + OS X build fixes for Lion + + Bugs fixed: bgo#508601, bgo#599664, bgo#649588, bgo#652045, + bgo#653191, bgo#655074, bgo#655087, bgo#655122, bgo#655392. + + Updated translations. +- Use a sed workaround in %prep to disable the build of a broken + source for a test (see bgo#658039). + +------------------------------------------------------------------- +Wed Jul 6 16:17:41 CEST 2011 - vuntz@opensuse.org + +- Change branding-upstream subpackage: + + Add Requires for libgtk-2_0-0 since the branding package is + useless without it. + + Update summary and description. + + Make noarch. + + Add branding comments to let people know how gtk2 branding + works. + +------------------------------------------------------------------- +Fri Jun 17 10:26:03 CEST 2011 - vuntz@opensuse.org + +- Update to version 2.24.5: + + Annotation fixes + + Update some deprecation notes and porting hints + + Bugs fixed: + - Ensure we always grab the lock in async callbacks + - Use an existing mimetype for the GTK_FILE stock icon + - Fix missing icons in the builtin icon theme + - Fix the build without XSHM + - Fix the build against recent GLib + - bgo#576492, bgo#637304, bgo#647908, bgo#648931, bgo#65210, + bgo#652239, bgo#652402. +- Rebase gtk2-tracker-0.10.patch. + +------------------------------------------------------------------- +Wed Apr 27 01:21:49 CEST 2011 - vuntz@opensuse.org + +- Comment out calls to translation-update-upstream as it breaks the + build right now (bnc#690180). +- Change gtk2 Obsoletes from <= to < now that we have a new + upstream version. + +------------------------------------------------------------------- +Wed Apr 27 00:04:41 CEST 2011 - vuntz@opensuse.org + +- Update to version 2.24.4: + + Add missing introspection annotations + + Fix GtkComboBoxEntry accessibility support + + Thread-safety fixes in file chooser and app chooser code + + Fix some deficiencies with the builtin icon theme + + Updated translations. +- Changes from version 2.24.3: + + Build fix. +- Changes from version 2.24.2: + + Bugs fixed: bgo#642905, bgo#643170, bgo#643216, bgo#643416, + bgo#644353. +- Changes from version 2.24.1: + + GTK+ now refuses to load modules that are linked against the + wrong GTK+ version, preventing GTK_PATH accidents. + + A number of memory leaks and segfaults involving accessibility + have been fixed. + + Bugs fixed: bgo#599907, bgo#626730, bgo#633291, bgo#640487, + bgo#640992, bgo#642137, bgo#642642, bgo#642681, bgo#642772. + + Updated translations. +- Changes from version 2.24.0: + + GtkBuilder has gained support for + - items in GtkComboBoxText + - tags in GtkTextTagTable + - menus in GtkMenuToolButton + + The gtk-builder-convert script gained a --target-version option + + Many introspection annotation fixes + + Bugs fixed: bgo#351755, bgo#590459, bgo#639327, bgo#634677. + + Updated translations. +- Changes from version 2.23.90: + + New deprecations: + - gdk_set_pointer_hooks(), gdk_display_set_pointer_hooks() + - gtk_range_get/set_update_policy() + - gtk_window_get/set_frame_dimensions() and + gtk_window_get/set_has_frame() + + The cups print backend can now send print jobs directly in PDF + if cups supports it + + Bugs fixed: bgo#144324, bgo#165987, bgo#560177, bgo#562182, + bgo#622125, bgo#637691, bgo#637958, bgo#637973. +- Changes from version 2.23.3: + + New deprecations: + - GtkRuler (and subclasses) + - gtk_widget_reset_shapes + - gdk_set_sm_client_id + - Foreign window APIs + - gdk_spawn_* + - gdkx_visual_get + - gdk_net_wm_supports + - gdk_set_locale, gtk_set_locale + - Some GDK text conversion routines + - gdk_drag_context_new + - gdk_drag_find_window and gdk_drag_get_protocol + - gdk_xid_table functions + + Bugs fixed: bgo#629955, bgo#634558, bgo#634697, bgo#634882, + bgo#635307, bgo#635588, bgo#636832, bgo#637069, bgo#637156. + + Updated translations. +- Changes from version 2.23.2: + + Fix a branch messup + + Readd the gtk_private_flags_get_type symbol + + Fix crashes on 64-bit + + Allow building with libtool 2.4 +- Changes from version 2.23.1: + + New deprecations: + - gtk_widget_hide_all + + New APIs added to aid migration to GTK+ 3: + - gtk_combo_box_new_with_model_and_entry + + Bugs fixed: bgo#624025, bgo#632381, bgo#632539, bgo#633050, + bgo#634060. +- Changes from version 2.23.0: + + New deprecations: + - gdk_cairo_set_source_pixmap + - Misc GdkDrawable APIs + - gtk_object_destroy + - gtk_init_add, gtk_remove_add, etc + - gtk_noteboook_set_window_creation_hook + - gtk_notebook_set/get_group + - gtk_link_button_set_uri_hook + - gtk_about_dialog_set_url/email_hook + - GtkComboBoxEntry + - combo box text convenience API + + New APIs added to aid migration to GTK+ 3: + - gdk_cairo_set_source_window + - GdkWindow API to supersede GdkDrawable API + - gtk_notebook_set/get_group_name + - GtkLinkButton::activate-link signal + - gtk_combo_box_new_with_entry + - GtkComboBoxText + + Bugs fixed: bgo#423201, bgo#612396, bgo#613728, bgo#629722, + bgo#629955, bgo#630521, bgo#631473, bgo#631697, bgo#632140. +- Rebase gtk2-tracker-0.10.patch, and include additional changes + from git. +- Rebase gtk64.patch. + +------------------------------------------------------------------- +Sat Feb 19 18:03:57 CET 2011 - vuntz@opensuse.org + +- Add gtk2-tracker-0.10.patch: fix tracker support in GTK+, for + tracker 0.10. Patch cherry-picked from GTK+ 3. + +------------------------------------------------------------------- +Sat Feb 19 10:40:20 CET 2011 - vuntz@opensuse.org + +- Remove update-alternatives Requires in devel subpackage, + following previous change. + +------------------------------------------------------------------- +Sun Feb 13 22:05:38 CET 2011 - vuntz@opensuse.org + +- Remove update-alternatives mechanism for gtk-builder-convert + since the tool is not in gtk3 anymore. + +------------------------------------------------------------------- +Fri Jan 7 17:27:24 CET 2011 - vuntz@opensuse.org + +- Use update-alternatives mechanism for gtk-update-icon-cache and + gtk-builder-convert since both tools are shipped with the same + names in gtk2 and gtk3: + + Rename the non-versioned tools and man pages to versioned + filenames. + + Add update-alternatives Requires(post/postun) to tools and + devel subpackages. + + Call update-alterantives in %post/%postun of the tools and + devel subpackages. + +------------------------------------------------------------------- +Tue Dec 14 19:02:56 CET 2010 - vuntz@opensuse.org + +- Stop removing kg locale on 11.4 and later: bnc#659001 has been + fixed. + +------------------------------------------------------------------- +Sun Dec 12 13:45:58 CET 2010 - vuntz@opensuse.org + +- Remove some locales until bnc#659001 is fixed, to fix a build + failure. + +------------------------------------------------------------------- +Tue Nov 30 09:39:16 CET 2010 - vuntz@opensuse.org + +- Make gtk2-devel depend on python-xml instead of pyxml: pyxml will + be removed, and we really wanted to use python-xml anyway. + +------------------------------------------------------------------- +Tue Nov 16 09:28:29 CET 2010 - dimstar@opensuse.org + +- Update to version 2.22.1: + + bgo#563002: Doesn't call 'update-preview' on set_filename + + bgo#609622: disappearing statusicon + + bgo#613728: Rationalize GtkTreeView focus + + bgo#624025: gdk_draw_rectangle bogged down by ColorSync + + bgo#629722: save_entry_get_info_cb() doesn't behave correctly + + bgo#630962: double click isn't catched + + bgo#631332: gdk_pixmap_create_from_data(); + + bgo#631473: Fix GTK+3 documentation + + bgo#631872: Please ship modules/input/README.multipress in + tarballs + + bgo#632894: Only show Desktop in file chooser button if there + is one + + Updated translations. +- Removed FIXME for README.multipress; the file is in the tarball. +- Rebase gtk64.patch. + +------------------------------------------------------------------- +Wed Oct 13 20:34:30 CEST 2010 - vuntz@opensuse.org + +- Put comments that are in the scriptlets area of the spec file in + "%if 0" statement: if we don't do that, they actually end up in + the scriplets and can even make them fail if the scriptlets were + just "-p /sbin/ldconfig". + +------------------------------------------------------------------- +Mon Oct 11 23:41:03 CEST 2010 - vuntz@opensuse.org + +- Update packaging to use the shared library packaging policy: + + Create libgtk-2_0-0, gtk2-tools and gtk2-data subpackages. + + Add gtk2-tools Requires to libgtk-2_0-0 for the call to + gtk-query-immodules-2.0 in %post. + + Add gtk-data Recommends to libgtk-2_0-0. + + Make libgtk-2_0-0 Provides/Obsoletes gtk2. + + We need %post/%postun scriptlets for libgtk-2_0-0 and + gtk2-tools that call gtk-query-immodules-2.0 when possible. + + Update baselibs.conf accordingly. + + Add gtk2-tools Requires(post)/Requires(postun) to all the + immodule subpackages. +- Remove /usr/bin/touch /bin/rm /bin/rmdir PreReq: they're + unneeded. +- Pass --enable-introspection to configure. +- Stop creating useless directories under /usr/lib/gtk-2.0: + 2.10.0/filesystems, 2.10.0/modules, engines, immodules. +- Generally speaking, this moves the packaging of gtk2 and gtk3 + much closer to each other. +- Update baselibs.conf to remove assumption in the scriptlets of + the generated packages that they are 32bit packages. +- Use in baselibs.conf since we use full paths there, and + this is needed for x86 packages that put files in + /emul/ia32-linux. + +------------------------------------------------------------------- +Mon Oct 11 13:52:59 CEST 2010 - vuntz@opensuse.org + +- Update summaries and descriptions, based on those used in the + gtk3 source package. +- Split input methods in subpackages: + + Create gtk2-immodule-amharic, gtk2-immodule-inuktitut, + gtk2-immodule-multipress, gtk2-immodule-thai, + gtk2-immodules-tigrigna, gtk2-immodule-vietnamese, + gtk2-immodule-xim subpackages. For the modules that are useful + for specific locales, we use a locale(gtk2:$locale) Provides to + make those packages installed by default when the locale is + used. + + Add Recommends to libgtk-3_0-0 for gtk2-immodule-amharic, + gtk2-immodule-inuktitut, gtk2-immodule-thai, + gtk2-immodules-tigrigna, gtk2-immodule-vietnamese. This makes + sense since this helps people discover them without having to + look for them. + + gtk2-immodule-multipress is not useful by default. + + gtk2-immodule-xim is creating performance issues, so we don't + want it by default. + + Fix bnc#629995. +- Explicitly list files in file lists, to make it easier to find + potential issues. +- Move relevant man pages from gtk2-devel to gtk2. +- Move the ferret module to the devel package: it's useful for + tests, but not in general. +- Package /etc/gtk-2.0/gtk(64)?.immodules in baselibs.conf too. +- Remove the touch var/adm/SuSEconfig/run-gtk from baselibs.conf. +- Fix %gtk2_immodule_post and %gtk2_immodule_postun macros to + generate the right file: we were missing a % and were using /etc + instead of /etc/gtk-2.0. + +------------------------------------------------------------------- +Wed Sep 29 02:13:35 UTC 2010 - aj@suse.de + +- Change lang package Requires to Recommends since it is not + mandatory at runtime. + +------------------------------------------------------------------- +Fri Sep 24 09:53:50 CEST 2010 - vuntz@opensuse.org + +- Update to version 2.22.0: + + Lower the gobject-introspection requirement to 0.9.3 + + Bug fixes: bgo#629748 + + Updated translations. + +------------------------------------------------------------------- +Tue Sep 14 16:02:09 CEST 2010 - vuntz@opensuse.org + +- Update to version 2.21.8: + + Deprecations: + - Various style properties have been deprecated: + GtkEntry::state-hint + GtkTreeView::row-ending-details + GtkRange::trough-side-details + GtkRange::stepper-position-details + GtkRange::activate-slider + - The GtkIconView::orientation property has been deprecated and + renamed to item-orientation + - Separator-related API in GtkDialog + - API related to blinking status icons + - The keysym names have been renamed from GDK_... to GDK_KEY_... + - The GtkItem class + - The gdk_display variable and the GDK_DISPLAY macro + + GTK+ now uses standard icon names for stock icons, where + applicable + + Win32: + - Fixes to the MS Windows theme engine + + Directfb: + - Many fixes + + Bugs fixed: bgo#414712, bgo#601731, bgo#628049, bgo#628110, + bgo#628291, bgo#628308, bgo#628656, bgo#628932, bgo#629093, + bgo#629277 + +------------------------------------------------------------------- +Mon Aug 30 23:18:26 CEST 2010 - vuntz@opensuse.org + +- Update to version 2.21.7: + + Deprecations: + - GtkWidget::draw-border has been deprecated + + The Windows backend has seen quite a bit of work towards fixing + CSW regressions. + + Bugs fixed: + - bgo#528257: File selector and stock string problems + - bgo#614006: File chooser crashes when creating a new + folder... + - bgo#616401: Noneffective gdk_keymap_map_virtual_modifiers... + - bgo#626537: Toggle button does not set indeterminate state + - bgo#627139: gtkfilechooserentry shows completion progress + tool... + - bgo#627843: set_active_iter: remove restriction on path + length + - bgo#628049: Native windows don't work very well + + Updated translations. +- Drop gtk2-testdnd.patch, gtk2-testgtk.patch, gtk2-testview.patch: + fixed upstream. + +------------------------------------------------------------------- +Wed Aug 25 21:50:25 CEST 2010 - vuntz@opensuse.org + +- Remove the remaining part of SuSEconfig.gtk2: the icon theme + cache updating mechanism is now handled directly by all + appropriate packages. +- This means we don't need /var/cache/gtk-2.0/icon-theme.cache-list + anymore, nor the %preun hack that was removing icon theme caches. + +------------------------------------------------------------------- +Wed Aug 25 12:09:21 CEST 2010 - vuntz@opensuse.org + +- Add RPM macros (macros.gtk2) to make it easier to handle + installation of a GTK+ 2 IM module. +- Update SuSEconfig.gtk2 to stop handling the update of the IM + module cache. +- Do not touch var/adm/SuSEconfig/run-gtk in %post anymore, but + call gtk-query-immodules-2.0 instead. + +------------------------------------------------------------------- +Tue Aug 17 11:07:28 CEST 2010 - dimstar@opensuse.org + +- Update to version 2.21.6: + + Most drawing done by GTK+ itself has been ported from GDK + drawing APIs to cairo + + GtkExpander gained a ::label-fill property to make the label + fill the entire horizontal space + + Accessiblity: + - Make Gail work with custom treemodels + - Implement GailAdjustment::get_minimum_increment + + Bugs fixed: + - bgo#599574: Crash in _cairo_surface_set_error + - bgo#604391: ...assertion `ancestor != NULL' when switching + between tab + - bgo#618327: GtkNotebookPage should be deprecated + - bgo#623603: meld built with pygtk-2.16.0 giving warnings + - bgo#623865: gtkdnd: pointer grab may never finish (ungrab + before grab) + - bgo#624087: Missing accessor for GdkCursor.type + - bgo#624221: Gtk-2.21 Missing accessor for GdkDevice.num_axis + - bgo#624224: Missing accessor for GdkDisplay.closed + - bgo#624333: Deprecate GtkRecentManager:limit + - bgo#624687: switch-page bug when activated from menu + - bgo#624779: GtkCalendar padding/margin/spacing/border/ + whatever is too hard... + - bgo#625491: Generate GdkX11-2.0.typelib + - bgo#625650: Add annotations to gtk_tree_model_iter_next() + and gtk_tree_selection_get_selected_rows() +- Add patches to fix brp checks, reported and fixed upstream: + + bg0#627128: gtk2-testview.patch + + bgo#627129: gtk2-testdnd.patch + + bgo#627130: gtk2-testgtk.patch + +------------------------------------------------------------------- +Fri Jul 23 08:34:51 CEST 2010 - vuntz@opensuse.org + +- Update to version 2.21.5: + + Deprecations: + - Deprecate GdkRegion apis that have no cairo equivalent + - GtkWindow::allow-grow and ::allow-shrink properties + + New accessors: + - gdk_window_has_native + + Introspection: misc annotation fixes + +------------------------------------------------------------------- +Wed Jul 21 13:39:48 CEST 2010 - vuntz@opensuse.org + +- Clean up update to 2.21.4. +- Update baselibs.conf, README.SuSE, SuSEconfig.gtk2 after + gdk-pixbuf split. +- Stop creating %{_libdir}/gtk-2.0/2.10.0/loaders. +- Move gir files to devel subpackage. +- Add gdk-pixbuf-devel Requires to devel package. +- Create var/adm/SuSEconfig/ in %post if necessary. + +------------------------------------------------------------------- +Tue Jul 6 10:20:52 CEST 2010 - dimstar@opensuse.org + +- Update to version 2.21.4: + + Revert a change in GtkCalendar that broke the pygtk build + + Fix the building of input methods as modules. + + Include gdk-pixbuf-2.0 in the .pc file requires +- Changes from version 2.21.3: + + gdk-pixbuf has been moved into a separate module + + gtk_init warns if it detects GTK2.x and GTK3 being used in the + same process + + New API for GSeal. + + Bug fixes. +- Changes from version 2.21.2: + + The newly added gdk_drag_context_get_action function has been + renamed to gdk_drag_context_get_selected_action to make the + name less confusing. + + Introspection annotations have been added in many places + + New accessors for sealed struct members: + - gtk_viewport_get_view_window + - gdk_drag_context_get_source_window + + Bug fixes. +- Changes from version 2.21.1: + + GDK has been sealed, with the addition of suitable accessors + + Bug fixes. +- Changes from version 2.20.1: + + Support tracker 0.8 and 0.9 in the filechooser search code + + New API: + - add API to convert coords between parent and child windows + - add gdk_window_get_effective_parent() and + gdk_window_get_effective_toplevel() which are offscreen aware + - add gtk_widget_send_focus_change + - add accessors for GtkTextView adjustments + - add API to reset the im context in GtkTextView and GtkEntry + + Bug fixes. + + Updated translations. +- Add gdk-pixbuf-devel BuildRequires. +- Drop gtk2-potfiles.patch: fixed upstream. +- Drop gdk-modules-information.diff: gdk-pixbuf has been split, and + this is not needed anymore. +- Drop gtk+-2.20.1-pngmess.patch: fixed upstream. +- Pass --disable-static to configure and remove .la files. +- Update packaging after split of gdk-pixbuf. + +------------------------------------------------------------------- +Thu May 20 12:49:46 CEST 2010 - fridrich.strba@bluewin.ch + +- Fix a memory allocation problem in png loader + + patch gtk+-2.20.1-pngmess.patch: backport upstream commit + f0cfc970ed917adb10d4f92ba9e8d3aa079449e0 + +------------------------------------------------------------------- +Mon May 3 22:16:19 CEST 2010 - captain.magnus@opensuse.org + +- Update to version 2.20.1: + + Support Tracker 0.8 in the filechooser search + + bgo#615028: gdk/x11/gdkdnd-x11.c missing Xutil.h + + bgo#614099: GtkFileSystemModel may causes crash in + g_file_get_child + + bgo#615999: Gail doesn't send state-changed events for + ATK_STATE_ENABLED + + bgo#614894: Add heuristic for pre XRandR 1.3 drivers + + bgo#613988: Compile error on DirectFB backend due to missing... + + bgo#560147: GtkBuilder docs should say what GErrors they throw + + bgo#615128: gdk monitor order does not seem to be correct + + bgo#614971: Initialize search engines on demand + + bgo#613887: Misprint in the description of + gtk_cell_view_new_with_text + + bgo#615853: BadMatch when pressing keyboard volume keys... + + bgo#615000: gtk_builder_value_from_string_type() returns FALSE + without... + + bgo#614540: configure wants gio-unix on all platform + + bgo#613974: GtkToolItemGroup devides by 0 when allocating space + + bgo#557689: In 'select folder' action, filechooser doesn't work + + bgo#616851: gtk_misc_set_alignment: assertion `GTK_IS_MISC + (misc)' failed + + bgo#402349: FileChooser's default directory is not "active" + + 64bit issue with the ICC profile support in the PNG loader + + Missing break statement in gtk_tool_item_group_set_property + + Missing default events in gtk_tool_item_group_realize + + Translation updates + +------------------------------------------------------------------- +Tue Mar 23 18:28:02 CET 2010 - vuntz@opensuse.org + +- Update to version 2.20.0: + + Support the tracker 0.8 api in the file chooser search code + + Bug fixes: + - bgo#609929: Dragging between two windows cause the menu + widget... + - bgo#613241: entry sends extra notify::text with "" on destroy + - bgo#610946: error during gtk+ build + nonsense error messages + - bgo#610176: Some cups1.2 feature use not shielded by API + version-check + - bgo#612574: GtkMenuItem does not emit notify::label when + label... + - bgo#612505: Entry layout not updated when underlying buffer + changes + - bgo#612346: gdk_window_set_icon_name doesn't work + - bgo#612308: GTK+ Build error: redefinition of 'struct + IPrintDialogCallback' + - bgo#611118: Set APPLICATION_ID when launching desktop app + - bgo#612768: DND cause crash in VNC environment + - bgo#612575: Improve docs of + gtk_notebook_set_tab_label_packing + - bgo#605333: Confusing error in documentation + - bgo#613028: Do not get a GtkSettings for size lookup if... + + Updated translations. + +------------------------------------------------------------------- +Tue Mar 9 20:38:06 CET 2010 - dimstar@opensuse.org + +- Update to version 2.19.7: + + bgo#611707: Move documentation from templates to inline + comments + + bgo#69872: GTK_WIDGET_SET_FLAGS should be deprecated + + bgo#612066: empathy hangs when clicked on information about + contact... + + bgo#557420: Some compose sequences don't work anymore... + + bgo#569042: gailbooleancell does not seem to attend to changes + + bgo#600992: File chooser reference counting issues + + bgo#610905: gtk_drag_source_set need instrospection hint + + bgo#611051: Search Entry Clear Icon not accessible + + bgo#611217: Incorrect translator comment + + bgo#611317: Document targets in drag and drop + + bgo#611319: gtk_window_set_transient_for undocumented NULL + value for parent + + bgo#611658: Update documentation for gtkvscrollbar + + bgo#611662: Update documentation for gtkvseparator + + bgo#611686: focus_in/focus_out in gailtreeview.c should return + FALSE + + bgo#611831: Move documentation to inline comments: GtkVBox + + bgo#612119" Do not scroll when middle pasting + + Updated translations. + +------------------------------------------------------------------- +Tue Feb 23 23:03:13 CET 2010 - lmedinas@opensuse.org + +- Update to version 2.19.6: + + Bugs fixed: + - bgo#610701: gnome-shell crashes frequently + - bgo#604799: Crash when button is pressed. + - bgo#609744: crash at parse_data_for_row_pseudocolor + - bgo#600789: gdk/gdkwindow.c "find_native_sibling_above" will + crash + - bgo#610141: gtk_assistant_get_nth_page() function fails to + deliver... + - bgo#609952: destroying a notebook window when the last tab + got dragged... + - bgo#603923: [annotations] gtk_tree_store_newv/set_column_types + - bgo#610474: [annotations] Add allow-none + - bgo#609650: GtkPlug Embedded signal is not emitted when plug.. + - bgo#610381: More space between toolbar icon and label + - bgo#548026: No accessor for GtkWidget.requisition + - bgo#609514: fix introspection comments for + gtk_tree_view_get_path_at_pos + - bgo#610235: msgid in bad English + - bgo#607697: GDK_META_MASK always set on Alt-Enter with gtk+ + 2.19.x + - bgo#610632: gtk_info_bar_set_default_response problem + - bgo#609172: gdk/directfb: little cleanups + - bgo#610184: gtk_assistant_set_current_page() segfaults... + + Updated translations. +- drop gtk2-duplicated-declaration.patch included upstream + +------------------------------------------------------------------- +Sun Feb 14 18:54:36 CET 2010 - vuntz@opensuse.org + +- Add gtk2-duplicated-declaration.patch to remove duplicated + function declarations in gtkwidget.h. This can break some builds. + +------------------------------------------------------------------- +Wed Feb 10 16:09:24 CET 2010 - vuntz@opensuse.org + +- Update to version 2.19.5: + + GSEAL work: + - Add accessors for GtkPaned members + - Add gtk_widget_style_attach + - Seal GtkTextTag + - Deprecate GtkCurveType + - More GtkWidget flags accessors + + Bugs fixed: + - bgo#403485: Move docs from tmpl/* to the source files + - bgo#556263: Deprecate GtkCurve + - bgo#554420: Seal GtkTextTag + - bgo#561816: Optimize gtk_paned_set_position notifications + - bgo#606288: Not using GtkOptionMenu deprecated symbols in + test file + - bgo#607061: GtkPlug socket window is sometimes incorrectly + unref'd + - bgo#607344: GtkCalendar: crash when using tooltips via glade + - bgo#607885: GtkPaned::handle lack accessor + - bgo#608162: gtktoolbutton doesn't create right proxy menu + item... + - bgo#608345: wrong reference on + gdk_keymap_translate_keyboard_state + - bgo#608370: dnd drag-dest signal handlers don't get correctly + disconn... + - bgo#608410: GOK types backwards in text entry fields + - bgo#608615: DnD events sent to wrong window + - bgo#608807: Marks on GtkScale widgets can overlap + - bgo#609188: gdk/directfb: compiler warning in + _gdk_windowing_pointer_grab() + - bgo#609191: gdk/directfb: use G_DEFINE_TYPE in + gdkcolor-directfb + - bgo#609199: gdk/directfb: use G_DEFINE_TYPE in gdkgc-directfb + - bgo#609201: gdk/directfb: max cursor size is artificially + limited + - bgo#591186: GTK Menu Bar is unreadable under Windows 7 + + Updated translations. + +------------------------------------------------------------------- +Wed Jan 27 13:06:30 CET 2010 - vuntz@opensuse.org + +- Update to version 2.19.4: + + GSeal: + - New accessors for GtkEntry windows + - New accessors for GtkRange members + + Bugs fixed: + - bgo#607082 - Add accessors for sealed GtkRange members + - bgo#567729 - Add GtkToolPalette + - bgo#591102 - Remove the destination file if trying to save a + pixbuf failed + - bgo#600865 - Avoid drawing implicit paints to destroyed + windows + - bgo#601412 - Fix some issues with action widgets + - bgo#603144 - Correct PRC6 and PRC9 envelope sizes + - bgo#606009 - weirdness with clipping in abiword - csw + - bgo#606698 - Misplaced declaration of + gtk_print_job_set_status + - bgo#606761 - pixops.c: variables are declared at middle of + block + - bgo#607217 - Mixing calls to _set_markup and _set_text + causes... + - bgo#607269 - gtk_label_set_attributes with empty list no + longer... + - bgo#607322 - Double-click doesn't work if the item is + selected... + - bgo#607687 - Avoid integer overflow in + gdk_rectangle_intersect + - bgo#607778 - Add accessors for GtkEntry's windows + - bgo#607770 - Leak in GtkTreeView with HildonPannableArea + - bgo#603245 - Fix a redraw problem with action widgets + + Updated translations. +- Drop gtk2-bad-drawable-errors.patch: fixed upstream. + +------------------------------------------------------------------- +Sat Jan 16 11:40:10 UTC 2010 - andrea@opensuse.org + +- Add gtk2-bad-drawable-errors.patch, taken from upstream: + this is needed to fix crashes in various circumstances. + Fix bnc#570941, bgo#600865. + +------------------------------------------------------------------- +Tue Jan 12 11:16:10 CET 2010 - vuntz@opensuse.org + +- Update to version 2.19.3: + + GSeal: + - Deprecate widget flag macros (GTK_WIDGET_STATE, + GTK_WIDGET_SAVED_STATE, GTK_WIDGET_FLAGS, + GTK_WIDGET_TOPLEVEL, GTK_WIDGET_NO_WINDOW, + GTK_WIDGET_COMPOSITE_CHILD, GTK_WIDGET_APP_PAINTABLE, + GTK_WIDGET_CAN_DEFAULT, GTK_WIDGET_CAN_FOCUS, + GTK_WIDGET_DOUBLE_BUFFERED, GTK_WIDGET_HAS_DEFAULT, + GTK_WIDGET_HAS_GRAB, GTK_WIDGET_RECEIVES_DEFAULT) + - Also deprecate the type macros (GTK_WIDGET_TYPE, + GTK_OBJECT_TYPE_NAME, GTK_OBJECT_TYPE) + + GtkOffscreenWindow: A new toplevel container widget to manage + offscreen rendering of child widgets + + OS X: + - Memory leak fixes and other improvements + + Bugs: + - bgo#604901: Provide generic offscreen rendering container + - bgo#597100: There is a misprint in the documentation... + - bgo#598383: GtkWidget::state-changed signal should be + documented + - bgo#602284: Need a way to retrieve the preedit string in a + GtkTextView + - bgo#605090: Fix some compilation warnings + - bgo#605199: Contradiction in the description of function... + - bgo#606068: Setup libjpeg error handling earlier... + - bgo#606230: gtk_combo_box_set_active_iter & unsetting the + active item + - bgo#606291: Fix some issues in "Migrating from + GtkOptionMenu... + - bgo#606434: prop-editor should support GdkColor + + Updated translations. +- Drop gtk2-gdk-typelib.patch: fixed upstream. + +------------------------------------------------------------------- +Tue Dec 22 13:17:02 CET 2009 - vuntz@opensuse.org + +- Update to version 2.19.2: + + Introspection data for gdk-pixbuf, gdk and gtk is now included + in GTK+ itself. + + Client-side windows: + - Fix some issues with handling of button and motion events + - Fix damage reporting for drawing on offscreen windows + - Fix problems with handling of input extension events + + Printing: + - Add api to handle printer hard margins + + Simple IM Context: + - Sync with Xorg compose file + - Make Compose-vowel-minus combinations consistent + + GDK: + - gdk_screen_get_primary_monitor: New function to get the + 'primary' monitor in a multi-monitor setup + + gdk-pixbuf has gained the ability to store and retrieve + embedded ICC color profiles in png and tiff images + + Bugs fixed: + - bgo#588554: only show the accelerator when pressing alt + - bgo#427409: editing shortcut always fails with super key + - bgo#597386: Cannot click buttons more than once without + moving the mouse + - bgo#599397: Button stuck at pressed look after screen + rotation + - bgo#603652, bgo#605008, bgo#601473, bgo#601712, bgo#50942, + bgo#468989, bgo#502266, bgo#592279, bgo#599213, bgo#601383, + bgo#602099, bgo#603619, bgo#603904, bgo#604117, bgo#604289, + bgo#604462, bgo#604747, bgo#604787, bgo#604881, bgo#591085, + + Updated translations. +- Add gobject-introspection-devel BuildRequires to enable + introspection support. +- Add gtk2-gdk-typelib.patch to fix build of GDK introspection. + +------------------------------------------------------------------- +Thu Dec 17 12:14:57 CET 2009 - jengelh@medozas.de + +- Add baselibs.conf as a source + +------------------------------------------------------------------- +Wed Dec 2 12:32:25 CET 2009 - vuntz@opensuse.org + +- Update to version 2.19.1: + + Client-side windows: + - Avoid some unnecessary exposes + - Avoid unnecessary redraws related to clearing windows + + GtkNotebook gained an 'action area' + + GtkStatusbar gained a 'message area' + + GtkToolPalette is a new container to show tool items in + collapsible groups in a grid + + gdk-pixbuf can now handle compressed TIFF images + + GSEAL work: + - New accessor: gtk_window_get_window_type() + + Bugs fixed: + - bgo#590017: Does not compile under MinGW32 + Wine + - bgo#569430: Gail should include a reciprocal relationship for + NODE_CHILD_OF + - bgo#598758: Need context for a propper translation + - bgo#594535: No accesor for GtkStatusbar->label and ->frame + - bgo#602725: fix setting icon-size on GICON images + - bgo#599402: Landscape and Reverse Landscape icons need to be + swapped + - bgo#588740: JPEG images open with blur effect? + - bgo#601337: Only use gdk_input_select_events() if XINPUT_NONE + is defined + - bgo#598050: Flickering in a gtk_socket + - bgo#600158: Do not use static GTypeInfo and GInterfaceInfo + - bgo#561973: Problem dragging images from Firefox to GTK+ app + on Windows + - bgo#601512: Remove unnecessary check in GtkTreeModelFilter + - bgo#600222: Check for existence of cairo-svg.h in + configure.in + - bgo#600150: GtkColorSelection tooltip issues + - bgo#480065: wrong tree collapsed (or expanded) after having + scrolled + - bgo#596473: Second double-click of GtkTreeView row doesn't + emit... + - bgo#601869: GtkUIManager assumes too much about popup menus + - bgo#581145: Wrong positioning for fullscreen gedit toolbar + animation + - bgo#602724: gailimage doesn't handle + GTK_IMAGE_{GICON,ICON_NAME}... + - bgo#561130: get_monitor_geometry segfaults if called with + non-existant... + - bgo#597026: Missing include for memset() + - bgo#585383: Segfault in gdk_pixbuf__ico_image_save + - bgo#597865: Move documentation from templates to inline + comments + - bgo#123569: Catch contents being reparented out of socket + - bgo#561334: Incorrect named constant in documentation of two + GtkButton... + - bgo#601611: gtk_selection_data_get_targets() reads X Atom + data as GdkAtoms + - bgo#601409: action area presence modifies notebook behaviour + - bgo#603268: wrong Since: markers in toolpalette merge + - bgo#603271: wrong toolbar style + - bgo#601959: must release compose key before continuing + compose sequence + - bgo#603302: Incorrectly warn about links on text with color + and underline + - bgo#603201: gtk_about_dialog_set_url_hook has no effect + anymore + - bgo#591438: dfb_events_dispatch is not thread safe + - bgo#589842: GtkAction API to have its menu item proxies have + always-show... + - bgo#603128: Adding new UI that was recently removed may cause + wrong order + - bgo#601682: Print preview should use gtk_show_uri by default + - bgo#596083: Deprecate notebook label packing functionality + - bgo#116650, bgo#584700, bgo#595498 + + Updated translations. +- Drop gtk2-build-fix.patch: fixed upstream. +- Remove workarounds for openSUSE 10.3 and earlier. +- Add gnome-common BuildRequires, and use gnome-autogen.sh instead + of autoreconf, since it'll do a better work. +- Remove gtk-doc BuildRequires +- Remove AutoReqPrev: it's default now. + +------------------------------------------------------------------- +Fri Nov 13 17:45:53 CET 2009 - vuntz@opensuse.org + +- Update to version 2.19.0: + + A throbber widget and cell renderer have been added: GtkSpinner + and GtkCellRendererSpinner + + GtkFileSystemModel has been reimplemented, for major speedups + and other improvements + + Synchronize compose sequences with the current X.org Compose + file + + Win32: + - The GDI+ image loader works again + - XP themes have been disabled since they don't work currently + + OS X: + - Fix crashes due to unimplemented GdkWindowImplIface methods + - Use standard Mac keyboard shortcuts (Cmx-X, Cmd-C instead of + Ctrl-X, Ctrl-C, etc) + - Add a pixbuf loader for the QTIF format + - Improve multi-monitor handling + + GSEAL work: + - New accessor for GtkDialog buttons: + gtk_dialog_get_widget_for_response + - New accessor for GtkViewport bin_window: + gtk_viewport_get_bin_window + - Add a GtkCellEditable::editing-canceled property + + Deprecations: + - GtkInputDialog has been deprecated + - GtkCurve and GtkGammaCurve have been deprecated + - The tab-packing feature in GtkNotebook has been deprecated + + Bugs fixed: + - bgo#594644: Cannot compile GTK+ with MinGW 4.4.0 + - bgo#581150: GtkIconView tries to paint items with invalid + sizes + - bgo#598218: Substitute deprecated gtk_*_ref/unref calls + - bgo#381371: Print margins not correct in WIN32 - not allowing + for... + - bgo#597596: Toolbar button accessible objects don't have + label name + - bgo#599118: Translators comment for "Finishing" labels + - bgo#598261: Add support to GtkTooltip to handle GIcons + - bgo#597865: Move documentation from templates to inline + comments + - bgo#599403: Avoid using accel group internals in GtkSocket + - bgo#590800: The window content is not updated correctly when + scrolling + - bgo#598217: Substitute deprecated gdk_*_ref/unref calls + - bgo#599446: atk_object_set_name () assertion in + gtk_tool_button_set_label + - bgo#592582: Print preview doesn't reflect the printout + - bgo#563010: GtkFileChooserButton cannot have none file + selected again + - bgo#598881, bgo#596083, bgo#594903, bgo#598515, bgo#530351, + bgo#552678, bgo#596238, bgo#596019, bgo#366217, bgo#594962 + + Updated translations. +- Changes from version 2.18.2: + + GTK+ now ignores SIGPIPE in gtk_init(). Previously this was + done deep in the lpr printbackend. + + Fix compilation of the DirectFB backend. + + Bugs fixed: + - bgo#597386: Cannot click buttons more than once... + - bgo#588059: sometimes notification icons are not visible with + csw + + Updated translations. +- Drop gtk2-git-c5d08611.patch: was taken from upstream. +- Respin bugzilla-129753-gtk+-2.8.9-localize-font-style-name.diff + to apply without fuzz. +- Respin gtk64.patch to apply without fuzz. +- Drop gtk+-strict-aliasing.patch: it's all fixed upstream already. +- Fix rpmlint warnings about self-obsoletion for gail and gtk2-doc. +- Fix order of packageand() arguments to fix rpmlint warning. + +------------------------------------------------------------------- +Tue Oct 27 15:47:08 CET 2009 - sbrabec@suse.cz + +- Fixed incorrect file list in POTFILES.in (bgo#599774). +- Added support for translation-update-upstream (FATE#301344). +- Re-enabled gnome-patch-translation support. + +------------------------------------------------------------------- +Mon Oct 5 23:15:24 CEST 2009 - vuntz@opensuse.org + +- Add gtk2-git-c5d08611.patch: this groups the various code changes + in GTK+ git since 2.18.1. Those are all important fixes: + + Move SIGPIPE suppression to gtk_init and document it, instead + of having it in the lpr backend + + Call XReconfigureWMWindow with proper screen (code error with + compiler warning) + + Fix DirectFB backend compilation + + Plug a memory leak + + bgo#597386: Cannot click buttons more than once + + bgo#588059: Fix notification icon not always visible + +------------------------------------------------------------------- +Sat Oct 3 01:28:50 CEST 2009 - vuntz@opensuse.org + +- Compile without -fomit-frame-pointer. For some yet unknown + reasons, some applications crash when GTK+ is compiled with it. + See bgo#596977 for details. Should fix bnc#544009. + +------------------------------------------------------------------- +Thu Oct 1 17:19:52 CEST 2009 - vuntz@opensuse.org + +- Update to version 2.18.1: + + Client-side Windows: + - Fix a problem with the F-Spot screensaver + - Request native events that are necessary for grab emulation + - Fixes for input device and extended input event handling + - Allow up to 255 buttons in extended input events + + OS X: + - Improve handling of multi-monitor setups + - Basic DND works + - Other improvements + + Filechooser: + - Support Tracker 0.7 in the search code + + Bugs fixed: + - bgo#596423 Landscape pages are the wrong way around + - bgo#588449 DnD doesn't work on GDK/Quartz + - bgo#596080 Mention "gtk-tooltip" in + gtk_widget_set_tooltip_window + - bgo#596580 Blank rows in entry autocompletion + - bgo#588649 extended input events sent to widgets that + didn't... + - bgo#596081 Update tracker support for version 0.7 + - bgo#596345 clicking empty space in backgrounds... + - bgo#596494 New property "cursor" in 2.18's GdkWindow with + wrong... + - bgo#596012 popup menu position is horribly off on gdk + quartz... + - bgo#596250 Gdkcursor-quartz.c doesn't implement + GDK_BLANK_CURSOR + - bgo#586207 Printing dialog with a CUPS printer connected... + + Updated translations. +- Drop gtk2-expose-foreign.patch: fixed upstream. +- Add gtk2-build-fix.patch to fix a build warning. + +------------------------------------------------------------------- +Wed Sep 30 10:27:09 CEST 2009 - vuntz@opensuse.org + +- Add gtk2-expose-foreign.patch: patch from upstream to fix an + issue with f-spot. + +------------------------------------------------------------------- +Thu Sep 24 15:27:24 CEST 2009 - dimstar@opensuse.org + +- Update to version 2.18.0: + + Add GtkTreeModelFilter testsuite and fix multiple bugs + + Client-side-windows: + - Fix issues around recursion and gdk_window_process_updates + - Fix issues with grabs and cursors + - Handle window hierarchy and geometry changes in expose + handlers + - New function, gdk_window_flush, that may be needed in certain + situations + - Automatically flush windows when doing non-double-buffered + exposes + + Quartz backend: + - Fix various 'stuck UI' issues + - Fix the size of the root window + + Bugs fixed: + - bgo#588455, bgo#346800, bgo#593678, bgo#594652, bgo#594668, + bgo#591583, bgo#594600, bgo#594679, bgo#594880, bgo#593507, + bgo#594913, bgo#594738, bgo#503776, bgo#595599, bgo#595790, + bgo#588649, bgo#550939 + + Updated translations. + +------------------------------------------------------------------- +Wed Sep 9 18:14:19 CEST 2009 - vuntz@opensuse.org + +- Update to version 2.17.11: + + Client-side windows: + - Add gdk_cairo_reset_clip that lets you get back the original + drawable clip + - Add gdk_window_restack to more conveniently restack child + windows + - Add gdk_window_is_destroyed as a replacement for + GDK_WINDOW_DESTROYED + - Deprecated GDK_WINDOW_OBJECT and GdkWindowObject + + GSEAL: + - Add gtk_widget_set_receives_default and + gtk_widget_get_receives_default accessors for + GTK_RECEIVES_DEFAULT + + GtkTreeView: + - Correctly propagate insensitive state to cell renderers + + GtkTextView: + - Merge a number of scrolling-related fixes from Maemo + + Bugs fixed: + - bgo#564160 - gtk_combo_box_entry_set_text_column too + restrictive + - bgo#593868 - gtk_im_multicontext_set_client_window recreate a + new slave... + - bgo#593644 - gdk_x11_screen_get_window_manager_name should + not cache... + - bgo#594178 - gdk-pixbuf-query-loaders segfault in + write_loader_info + - bgo#567124 - proposal to delay doing something related to + immodule... + - bgo#588788 - GTK+ compilation should work with automake1.10 + - bgo#584638 - Build of gtkupdateiconcache without NLS breaks + - bgo#593788 - misprint in the returning value of + gdk_selection_property_get + - bgo#593606 - Missing include in gtk/gtkcellrendereraccel.c + - bgo#593877 - Undefined symbols while compilation +- Add gtk2-install-po.patch to fix build. +- Add gtk2-64bit-build-fix.patch to fix build. + +------------------------------------------------------------------- +Tue Sep 1 21:10:43 CEST 2009 - dimstar@opensuse.org + +- Update to version 2.17.10: + + Client-side windows: + - Regression fixes continue + - Multiple clipping issues have been fixed + - gdk_window_beep() works again + - gtk-demo now has a few offscreen window demos + + GSEAL: + - Several more getters and setters have been added: + gtk_widget_is_toplevel(), gtk_widget_is_drawable(), + gtk_widget_set_window() + + Bugs fixed: + - bgo#592752 - aisleriot card drag start makes card appear + behind... + - bgo#592901 - Crash in JPEG pixbuf loader instead of error + - bgo#592263 - redraw problem in text view + - bgo#593011 - Cannot move applet with middle click + - bgo#592624 - BadAccess from gdk_window_x11_set_events + - bgo#592606 - Activate the default button in a respose-request + callback + - bgo#593249 - emacs and acroread don't work properly + - bgo#592883 - Spin cell rendererer problem with double click + - bgo#588199 - GtkTreeView rendering glitch while using a + default... + - bgo#543310 - set_enable_tree_lines doesn't work when a + cellrenderer + - bgo#589636 - csw broke DND from panel menus + - bgo#593595 - broken clip handling in GtkLabel + - bgo#590921 - NULL should not be a valid return value for + gdk_window_new() + - bgo#590861 - cups_printer_create_cairo_surface() sets a + fallback resolution... + - bgo#544724 - delete new line requires two keystrokes + - bgo#593001 - Emit 'update-custom-widget' on page setup change + - bgo#593317 - gtkwindow leaks startup ID + - bgo#593080 - mem leak + - bgo#593481 - GtkEntryCompletion action-activated signal is + emitted... + - bgo#593135 - gtk_entry_set_icon_from_pixbuf only works one + time + - bgo#593012 - configure doesn't handle --enable-{cups,papi} + correctly + - bgo#592862 - There is a misprint on the returning value of + gdk_pixmap_lookup() + - bgo#586466 - GtkPrintOperation printing fails if it is the + only event source + - bgo#434318 - printer detail acquisition needs events + - bgo#593712 - configure fails to to check properly for cups... + + Updated translations. + +------------------------------------------------------------------- +Tue Aug 25 13:18:59 CEST 2009 - dimstar@opensuse.org + +- Update to version 2.17.9: + + Client-side windows: Add a compatibility mode that falls back + to always using native windows, triggered by the + GDK_NATIVE_WINDOWS environment variable + + Bugs fixed: + - bgo#589367 gedit crashed with SIGSEGV in IA__g_list_last() + - bgo#478519 GtkTooltip segfaults on NULL + gdk-display-current-tooltip. + - bgo#592461 preserve errno and use g_strerror + - bgo#592403 crash when close the second terminal... + - bgo#591549 Default printer in a network + - bgo#526149 GtkCellRendererAccel editing conflicts with + mnemonics + - bgo#528283 Problems when using PageUp & PageDown to navigate + Playlists pane + + Updated translations. + +------------------------------------------------------------------- +Tue Aug 18 22:41:19 CEST 2009 - dominique-obs@leuenberger.net + +- Update to version 2.17.8: + + Client-side windows - various fixes to expose handling and fix + memory leaks + + Minor API addition - new setter as part of the GSEAL effort: + gtk_Widget_set_alocation + + Bugs fixed: + - bgo#585211 - Add accessor function for GtkWidget->allocation + - bgo#588437 - gtk 2.17.3 causes dragging in firefox bookmarks + sidebar to misdetect mouse position + - bgo#589367 - gedit crashed with SIGSEGV in IA__g_list_last() + - bgo#589877 - Client side windows leak gdk regions + - bgo#590959 - Set child_has_focus flag properly + - bgo#591432 - There is incomplete information on the returning + value of pdates_recurse() + - bgo#591434 - firefox-3.5 crashed with SIGSEGV in + _gdk_window_process_updates_recurse() + - bgo#591526 - Accelerator keys with modifier also + triggered by unmodified key + - bgo#591751 - bad memory access with duplicated id + - bgo#591998 - Support silent build rules with automake 1.11 + - bgo#592003 - Shift+click should always modify selection + + Updated translations. + +------------------------------------------------------------------- +Wed Aug 12 03:52:14 CEST 2009 - vuntz@novell.com + +- Update to version 2.17.7: + + Client-side windows: a number of regressions related to + embedding have been fixed + + Printing: The file backend supports SVG output + + Minor API additions: + - GtkIconView gained an icon-padding property that can be used + to fine-tune how much space each column needs + - GtkTreeViewColumn grew a sort-column-id property that can be + used to set up sort columns in GtkBuilder files + - GdkWindow gained a cursor property and associated getter + - GtkFileChooser has a create-folders property to allow + disabling the "New Folder" button + - gtk_print_operation_get_n_pages_to_print: returns the number + of pages that are being printed + - New getters and setters as part of the GSEAL effort: + gtk_widget_get_allocation, gtk_widget_get_visible, + gtk_widget_set_visible + + Bugs fixed: bgo#589336, bgo#534462, bgo#161489, bgo#514260, + bgo#509650, bgo#586374, bgo#590442, bgo#498010, bgo#555109, + bgo#570516, bgo#573321, bgo#576601, bgo#586100, bgo#588438, + bgo#589732, bgo#589745, bgo#590084, bgo#590086, bgo#590309, + bgo#590448, bgo#590959, bgo#591288, bgo#539377, bgo#546005, + bgo#564695, bgo#591218, bgo#357655, bgo#591462 + + Updated translations. + +------------------------------------------------------------------- +Sun Jul 26 00:43:51 CEST 2009 - captain.magnus@opensuse.org + +- Update to version 2.17.6: + + Client-side windows: + - Several optimizations, such as client-side tracking of + viewable windows + - Clipping for drawing pixbufs on windows has been fixed + - Rendering to large subwindows has been fixed + + Changes that are relevant for translators: + - Markup has been removed from several strings + + Bugs fixed: bgo#588398, bgo#588943, bgo#588076, bgo#574674 + bgo#582674, bgo#588553, bgo#588897, bgo#588958, bgo#589035 + bgo#589275, bgo#588964, bgo#587337 + + Translation updates + +------------------------------------------------------------------- +Sat Jul 18 23:12:21 CEST 2009 - captain.magnus@opensuse.org + +- Update to version 2.17.5: + + Quite a few fixes have happened for the win32 and directfb + backends + + Accessors have been added for sealed members in GtkCellRenderer + and GtkWidget + + The jpeg2000 pixbuf loader is now optional. Pass + --with-libjasper to configure to build it + + Bugs fixed: + * bgo#588373 Menus broken by client-side-windows + * bgo#588379 testgtk::panes does not change the cursor on mouse + over + * bgo#588388 shape rendering is back + * bgo#588461 gtk_editable_get_chars() behaviour change in + 2.17.4 + * bgo#588666 Incorrect clamping of max_length + * bgo#588665 insert-text signal is not emitted + * bgo#588395 Crash when opening a GtkBuilder file + * bgo#524066 Mandatory jpeg2000? + * bgo#527583 GtkAssistant should set buttons as default widget + * bgo#588694 Missing % in C code + * bgo#588484 Iconview DnD fails when Destination is empty + * bgo#583522 Trivial error in GtkBuilder migration + documentation + * bgo#150951 collapsed save dialog needs to indicate filesystem + + Translation updates +- Remove gtk2-build-warnings.patch. Fixed upstream + +------------------------------------------------------------------- +Tue Jun 16 14:30:57 CEST 2009 - vuntz@novell.com + +- Update to version 2.17.2: + + GtkInfoBar: A new widget to show a transient 'message area' + inside a content pane. The API is similar to GtkDialog and + supports theming for different message types (warnings, errors, + etc) + + GtkFileChooser: + - Improve path bar by ellipsizing long names and preventing + vertical size changes + - Backup files are now hidden by default + - GTK+ remembers the file chooser sorting state now + + GtkButtonBox: Implements the GtkOrientable interface now. + + Printing: + - GTK+ supports printing an application-defined 'selection' + now, in addition to usual page ranges. + + Changes that are relevant for theme authors: + - The new GtkInfoBar widget uses symbolic colors for theming + its background color depending on the message type. By + default, it uses the same background color as tooltips. This + can be turned off with style property. + - The GTK+ file chooser (as well as nautilus and other users of + GIO icon information) can now show different icons for xdg + user dirs. The icon names are folder-documents, + folder-download, folder-music, folder-pictures, + folder-publicshare, folder-templates, folder-videos, with an + automatic fallback to the standard folder icon. + + Bugs fixed: + - bgo#584021: titchy leak + - bgo#579590: gtk_entry_set_icon_from_stock should warn when + invalid st... + - bgo#584125: GtkAssistant asserts if last page is + GTK_ASSISTANT_PAGE_C... + - bgo#171416: Resume editing if name of new folder is "Type + name of new... + - bgo#420335: Page assignment when printing 4 pages to a sheet + - bgo#161670: Bad behaviour from gtk_file_chooser_set_filename + - bgo#327152: Long names in the FileChooserDialog directory + buttons sho... + - bgo#355851: File Dialog shows Backup Files + - bgo#390312: Gtk grabs keyboard on DND + - bgo#486839: Filechooser 'Places' items should not move up and + down th... + - bgo#562335: Deprecate gtk_tree_view_column_get_cell_renderers + and gtk... + - bgo#565317: Resulting image of GtkCellRendererPixbuf depends + on order... + - bgo#565998: configure script doesn't check for cairo-xlib.pc + - bgo#580079: Better configure detection of Xinerama on Solaris + - bgo#580511: gdk_x11_atom_to_xatom_for_display translates + GDK_NONE as ... + - bgo#580560: Backspace key does not go to the parent directory + - bgo#584598: GtkButtonBox silently ignores + gtk_orientable_set_orientation + - bgo#584637: Missing conditionals for X11 shape extension in + GdkWindow + - bgo#584805: GtkEntryCompletion selection reset when calling + gtk_entry... + - bgo#584832: Duplicate the exec string returned by + gtk_recent_info_get... + - bgo#585024: some gtksettings properties need extra + initialisation + - bgo#585371: Add additional sizes to the font selector + - bgo#585791: use g_*gettext instead of *gettext directly + - bgo#562579: [Patch] Remove error dialog when directory does + not exist + - bgo#344519: custom print ranges + - bgo#484922: Should remember the sort state of columns + - bgo#555344: consider adding a message area widget + + Updated translations. +- Add gtk2-build-warnings.patch to fix several build warnings. + +------------------------------------------------------------------- +Tue Jun 2 17:22:40 CEST 2009 - vuntz@novell.com + +- Update to version 2.17.1: + + GtkLabel: + - GtkLabel can show embedded URLs, much like SexyUrlLabel + + Printing: + - GTK+ includes a print backend that works with the PAPI + printing service. + - The file and lpr backends can print multiple pages per sheet. + + Changes that are relevant for theme authors: + - The URL support in GtkLabel uses the link-color / + visited-link-color style properties + + Bugs fixed: bgo#576091, bgo#315462, bgo#390331, bgo#531490, + bgo#574386, bgo#576678, bgo#579366, bgo#579884, bgo#580511, + bgo#581876, bgo#581878, bgo#582003, bgo#582488, bgo#582950, + bgo#582963, bgo#583050, bgo#583522, bgo#535557, bgo#549859 + + Updated translations. +- Drop gtk2-bnc294385-bgo463773-flash-player-busyloop.patch: fixed + upstream. +- Drop + gtk2-bnc310710-bgo524166-underallocated-gtklabel-position.diff: + fixed upstream. + +------------------------------------------------------------------- +Mon May 12 01:11:34 CEST 2009 - federico@novell.com + +- Removed these patches for deprecated widgets: + gtk+-mac_ctree.patch, gtk2-filesel-navbuttons.patch +- Removed gtk2-bnc355503-file-chooser-remember-geometry.diff; this + code is in the upstream tarball now. +- Removed gtk2-bnc343858-buggy-intel-xinerama.patch; the new GTK+ + detects RANDR pre-1.2 and applications should already handle + overlapping monitors anyway. +- Renamed gtk2-flash-player-busyloop.patch to + gtk2-bnc294385-bgo463773-flash-player-busyloop.patch + +------------------------------------------------------------------- +Tue May 5 17:17:10 CEST 2009 - vuntz@novell.com + +- Update to version 2.17.0: + + GtkBuilder: + - Scale marks can now be specified in builder markup + - GtkAssistant action widgets can be added in builder markup + + Changes that are relevant for theme authors + - GtkEntry now has a ::invisible-char style property that allows + themes to set the preferred invisible character + + Printing: + - GTK+ supports authentication of users against CUPS servers + now. + + Bugs fixed: + - bgo#578634: gtkdial example fails to compile + - bgo#580678: Minor improvement to GTK+ mediaLib code + - bgo#580511: gdk_x11_atom_to_xatom_for_display translates + GDK_NONE... + - bgo#581110: Handlebox widget uses static variables, crashes + in multi... + - bgo#553385: gtk-builder-convert creates untranslated combobox + models + - bgo#580814: GtkTextLayout incorrectly assumes pango iterates + in logi... + - bgo#579366: gtkbuilderparser leaks RequiresInfo objects + - bgo#579741: gailcombox should emit + property-changed:accessible-name... + - bgo#574386: Remove deprecated call to + gtk_status_icon_set_tooltip... + - bgo#384940: handle rejecting jobs and authentication + meaningfully + + Updated translations +- Pass --enable-man to configure. + +------------------------------------------------------------------- +Sun Apr 12 06:19:06 CEST 2009 - mboman@suse.de + +- Update to version 2.16.1: + + GtkBuilder: + * Accessible action names can now be marked as translatable. + * gtk-builder-convert correctly handles response ids in all + dialogs. + * gtk-builder-convert warns about duplicate ids. + + GDK: + * GDK no longer refuses to work on 30-bit visuals + + Win32: + * The appearance of GTK+ menus on Vista has been improved. + + Bugs fixed: + * bgo#575700 Crash when moving a GtkWindow + * bgo#574283 unused assignment and dead code in + gtk_widget_set_tooltip_window + * bgo#538840 [Win32] GTK menu theming could be improved + * bgo#576254 requires attribute "id" + * bgo#576306 gdkscreen.c: get_nearest_monitor too simple... + * bgo#437533 Implement draw_shape PangoRenderer method + * bgo#577224 crash when setting new icon after setting icon... + * bgo#576150 Doc bug for GtkMenuPositionFunc + * bgo#562863 GtkVscrollbar is hardly documented + * bgo#575644 Cygwin gail build patch + * bgo#571374 Add 30-bit visuals to the list of supported + depths + * bgo#577650 gtkitemfactory.h fails to compile + * bgo#578094 ProcessIdToSessionId needs to be declared as + WINAPI + * bgo#518642 Custom tags and translatable content + * bgo#532858 segv setting GBoxed subclass + * bgo#557629 Response ID not converted for + GtkFileChooserDialog + * bgo#577789 about dialogue doesn't linkify licence text + * bgo#577824 empathy_chat_window_init: GClosure is leaked + * bgo#577964 Page Range entry is not accessible + * bgo#578221 Assertion warning `GTK_IS_TEXT_LAYOUT (layout)' + failed + * bgo#578271 PageSetup should be sent to the previewer + * bgo#578276 gtk-builder-convert improperly converts + GtkComboBox + * bgo#578290 two memory leaks + * bgo#578354 Memory leak in gdkscreen-x11 + * bgo#578365 GtkMountOperation does not allow passwordless + mount of sf... + * bgo#578366 file descriptor leak + * bgo#573922 Using NET_WM_USER_TIME even if startup + notification times... + * bgo#561345 Title of Print Preview window should not be + previewXXXXXX... + * bgo#577868 about dialogue changes appearance on style-set + (change th... + * bgo#572797 GtkCellRendererAccel display string i18n in OTHER + mode + + Translation updates + +------------------------------------------------------------------- +Mon Apr 6 11:53:21 CEST 2009 - vuntz@novell.com + +- Respin + gtk2-bnc130159-bgo319483-async-selection-in-gtk-font-selection.diff + that doesn't apply with new patch package. + +------------------------------------------------------------------- +Sat Mar 14 00:59:56 CET 2009 - mboman@suse.de + +- Update to version 2.16.0: + + The new function gtk_style_get_property was renamed to + gtk_style_get_style_property to avoid binding problems. + + Bugs fixed: + * bgo#574059 search button not available in some cases + * bgo#574622 GtkEntry: Should we wrap icon-press and + icon-release signals? + * bgo#574561 gtk_style_get "shadows" g_object_get + * bgo#574794 Can not resize shaped windows on Windows + * bgo#570896 gdkevents-win32.c(2947) : error C4053: one void + operand for '?:' + * bgo#573067 Intra-app dnd of text behavior on Windows is + wrong + * bgo#572455 GtkEntry window layed out wrong if the widget has + focus + + Translation updates +- Remove AutoReqProv, it's default +- Remove cairo from Requires in main package. Should be automatic +- Remove custom CFLAGS + +------------------------------------------------------------------- +Fri Mar 6 02:54:51 CET 2009 - vuntz@novell.com + +- Update to version 2.15.5: + + GtkAction: + - Rename gtk_activatable_reset to + gtk_activatable_sync_action_properties to make it easier to + bind + + GDK: + - The DirectFB backend has been restored to basic function + - The RANDR support in the X11 backend has been made more robust + + Changes that are relevant for theme authors: + - GtkEntry now has a ::progress-border property and use + fg/bg[SELECTED] for drawing progress + + Bugs fixed: bgo#457086, bgo#554407, bgo#543710, bgo#560671, + bgo#513422, bgo#533456, bgo#572387, bgo#565199, bgo#495320, + bgo#572904, bgo#573383, bgo#573416, bgo#572968, bgo#572972, + bgo#572996, bgo#573069, bgo#573113, bgo#573211, bgo#573287, + bgo#572273, bgo#573515, bgo#552619, bgo#573087, bgo#573688, + bgo#546285, bgo#569671, bgo#573393, bgo#571001, bgo#520395, + bgo#325809, bgo#561631, bgo#519090 + + Updated translations: +- Drop gtk2-libtool.patch: already fixed upstream. + +------------------------------------------------------------------- +Tue Feb 24 16:35:19 CET 2009 - sbrabec@suse.cz + +- Fixed relative path vulnerability in gtk-path-local.patch + (bnc479076). + +------------------------------------------------------------------- +Wed Feb 18 03:16:41 CET 2009 - mboman@suse.de + +- Update to version 2.15.4: + + GtkAction: + * More compatibility fixes to make PolicyKit-gnome work + + GtkFileChooserButton: + * Don't emit file-set when the dialog is canceled. But emit it + when a file is received via DND + + GDK + * Use Xrandr 1.3 for tracking monitor information, + if available + + Bugs fixed: + * bgo#538439 tooltip may appear in upper left corner... + * bgo#571015 libprintbackend-cups has unlocalized strings + * bgo#353196 Add a file-set signal to GtkFileChooserButton + * bgo#571249 Icons are not drawn properly when initial widget + * bgo#571196 gtk_binding_entry_add_signall deprecated without + alternative + * bgo#508545 No way to identify terminal classes from + documentation + * bgo#570824 TreeView is not keyboard (re)focusable after + selecting a cell... + * bgo#568571 Asian am/pm format on cups print backend's time + parsing + * bgo#571576 gdk_pixbuf_save_to_stream() broken + * bgo#571873 Compile error with gdk/win32/gdkselection-win32.c + * bgo#572041 Focus should change when advancing forward in + GtkAssistant + * bgo#572040 GtkAssistant does not expose page titles + * bgo#570406 gailutil.def is in srcdir, but used from builddir + + Translation updates +- Remove %if statements for <= 10.2 +- Remove %if %DIRECTFB_SUPPORT statements +- Merge -doc into -devel since it only contains gtk-doc + +------------------------------------------------------------------- +Tue Feb 03 08:37:18 EST 2009 - mboman@suse.de + +- Update to version 2.15.3: + + Keyboard shortcut handling has been changed, to help with a + longstanding complaint about the way GTK+ handles multiple + layouts. GTK+ now only uses keys from groups other than the + current group if they are not present in the current group. + + bgo#569336 change in gtkbutton klass is causing crash... + + bgo#569435 make maintainer-clean removes non-generated sources + + bgo#145058 Inputting "^^" requires four keystrokes on Win32... + + bgo#559408 Transparency lost when images are copied... + + bgo#359288 Toolbar items are not shown after hiding + + bgo#569918 64bit portability issue in gtkrecentchooser.c + + bgo#162726 Multiple Latin layouts in XKB break keyboard + shortcuts + + bgo#569635 fontchooser should reload list of families/styles + on... + + Translation updates +- Remove gtk2-fix-abuild-error.patch. Fixed upstream +- Respin + gtk2-bnc130159-bgo319483-async-selection-in-gtk-font-selection.diff + +------------------------------------------------------------------- +Sat Jan 31 08:37:18 EST 2009 - mboman@suse.de + +- Update to version 2.15.2: + + Too many fixes/changes to list. Please see NEWS for full details +- Remove gtk2-191223-java-selection-fix-updated.patch. Fixed upstream +- Add gtk2-fix-abuild-error.patch to make rpmlint happy + +------------------------------------------------------------------- +Fri Jan 23 07:45:30 CET 2009 - vuntz@novell.com + +- Really remove the gtk2-filechooser-network-browsing.patch file. + +------------------------------------------------------------------- +Mon Jan 12 09:55:06 EST 2009 - mboman@suse.de + +- Update to version 2.15.0: + + Too many fixes/changes to list. Please see NEWS for full details +- Remove gtk2-set-invisible-char-to-circle.patch. Configurable now +- Comment out gtk2-bnc355503-file-chooser-remember-geometry.diff for now. + Should include this patch once it's fixed properly + +------------------------------------------------------------------- +Thu Jan 8 14:04:15 EST 2009 - mboman@suse.de + +- Update to version 2.14.6: + + bgo#561539 Fix warnings when size allocations fall short of border width + + bgo#557420 Some compose sequences don't work anymore + + bgo#555334 connected server feature + + bgo#563547 Update gdkx11 atom precache table + + bgo#563991 gtk_file_chooser_button_new_with_backend is deprecated + + bgo#560135 Print when the user double clicks a printer + + bgo#564066 Crash in gtk_rc_parse_default_files + + bgo#564212 gtk_icon_view_accessible_model_rows_reordered explain new_order + + bgo#563751 xatom cache is prefilled too late + + bgo#556839 Crash when opening a link + + bgo#549251 GTK icon view accessible issue + + bgo#558306 Cannot build gdk (gtk+ 2.14.4) on Solaris 8 + + bgo#555560 gtk_combo_box_set_active fails with no model + + bgo#563158 CellRendererProgress pulsing and progressing rows can not + + bgo#556233 local-only causes G_IS_FILE warning + + bgo#562579 Remove error dialog when directory does not exist + + bgo#561494 FileChooser network browsing and authentication support + + bgo#563876 GTK_MODULES env var is no longer relevant +- Remove gtk2-filechooser-network-browsing.patch. Fixed upstream +- Remove gtk2-filechooser-mount-parent.patch. Fixed upstream +- Remove gtk2-bnc457728-disable-gail-via-env-var.diff. Fixed upstream +- Remove gtk2-bnc447004-treeview-lines-rtl.diff. Fixed upstream + +------------------------------------------------------------------- +Thu Jan 8 10:04:15 EST 2009 - btaylor@novell.com + +- Added gtk2-bnc457728-disable-gail-via-env-var.diff to allow gail to be + disabled by the NO_GAIL env var (bnc#460890, bnc#449513). This is needed by + applications which use gtk but provide their own accessibility modules. + +------------------------------------------------------------------- +Tue Dec 23 15:29:10 CST 2008 - federico@novell.com + +- Updated gtk2-bnc355503-file-chooser-remember-geometry.diff to fix + https://bugzilla.novell.com/show_bug.cgi?id=445923 - The file + chooser was resizing itself each time you clicked on a file in + Firefox's file dialog. Also fixes flicker during the file chooser's + startup. +- Added gtk2-bnc447004-treeview-lines-rtl.diff to fix + https://bugzilla.novell.com/show_bug.cgi?id=447004 - Tree view + hierarchy lines were drawn incorrectly in right-to-left languages. + +------------------------------------------------------------------- +Wed Dec 10 12:34:56 CET 2008 - olh@suse.de + +- use Obsoletes: -XXbit only for ppc64 to help solver during distupgrade + (bnc#437293) + +------------------------------------------------------------------- +Thu Dec 4 22:28:40 CST 2008 - hpj@novell.com + +- Added gtk2-filechooser-mount-parent.patch (bgo#561494 + bnc#445362). +- Added gtk2-filechooser-network-browsing.patch (bgo561494 + bgo545980 bnc445362). +- These patches from upstream fix a constellation of bugs meaning + you could not browse to a network place like network://, + smb:// or smb://server/ in a GTK file chooser. + +------------------------------------------------------------------- +Mon Nov 24 12:34:56 CET 2008 - olh@suse.de + +- obsolete old -XXbit packages (bnc#437293) + +------------------------------------------------------------------- +Wed Nov 19 03:54:57 CET 2008 - pwu@suse.de + +- Change gtk_selection_data_get_targets to java X Selection type. + The java X Selection "TARGETS"'s type is "TARGETS" not "ATOM". + Fixes https://bugzilla.novell.com/show_bug.cgi?id=191223. + Add new patch gtk2-191223-java-selection-fix-updated.patch, + updated version for sle11. + +------------------------------------------------------------------- +Tue Nov 11 16:54:14 CET 2008 - ro@suse.de + +- SLE-11 uses PPC64 instead of PPC, adapt baselibs.conf + +------------------------------------------------------------------- +Thu Nov 6 10:07:11 CST 2008 - federico@novell.com + +- Added gtk2-bnc355503-file-chooser-remember-geometry.diff to fix + https://bugzilla.novell.com/show_bug.cgi?id=355503 - The file + chooser now remembers its window size across invocations, so it does + not have to be resized every time. + +------------------------------------------------------------------- +Mon Nov 3 01:32:54 CET 2008 - vuntz@novell.com + +- Remove gtk-warn.patch: already fixed upstream. + +------------------------------------------------------------------- +Tue Oct 21 11:11:58 CDT 2008 - maw@suse.de + +- Update to version 2.14.4: + + Bugs fixed: bgo#553135, bgo#553241, bgo#553133, bgo#553578, + bgo#553211, bgo#554141, bgo#554690, bgo#554691, bgo#554696, + bgo#554698, bgo#554701, bgo#554704, bgo#554506, bgo#530575, + bgo#371908, bgo#132501, bgo#554702, bgo#554192, bgo#550342, + bgo#555000, bgo#552318, bgo#555779, and bgo#555791 + + Updated translations. + +------------------------------------------------------------------- +Wed Oct 15 11:11:09 CDT 2008 - maw@suse.de + +- Update to version 2.14.3: + + Don't use XRRGetScreenResources, since it doesn't work well + + Revert problematic GtkAdjustment changes + + Bugs fixed: bgo#551063, bgo#319849, bgo#550989, bgo#550062, + bgo#551325, bgo#551386, bgo#550676, bgo#551699, bgo#551567, + bgo#551378, bgo#536542, bgo#552153, bgo#552001, bgo#551987, + bgo#551722, bgo#552107, bgo#552500, bgo#408154, bgo#329593, + bgo#552667, bgo#552668, bgo#346903, bgo#550969, bgo#517233, + bgo#551063, bgo#540967, bgo#552837, bgo#553000, bgo#553135, + and bgo#552545 + + Updated translations. + +------------------------------------------------------------------- +Mon Oct 6 16:03:28 CEST 2008 - sbrabec@suse.cz + +- Conflict with other branding providers (FATE#304881). + +------------------------------------------------------------------- +Mon Sep 29 00:26:51 CEST 2008 - ro@suse.de + +- add gcc-c++ to buildrequires to work around libtool problem + +------------------------------------------------------------------- +Mon Sep 29 00:26:22 CEST 2008 - ro@suse.de + +- add gcc-c++ to buildrequires to work around libtool problem + +------------------------------------------------------------------- +Mon Sep 8 18:55:08 CDT 2008 - maw@suse.de + +- Update to version 2.14.1: + + Fix a deadlock in pixbuf loader initialization + + Updated translations. + +------------------------------------------------------------------- +Thu Sep 4 16:21:22 CDT 2008 - maw@suse.de + +- Update to version 2.14.0: + + Bugs fixed: bgo#548354, bgo#548346, bgo#535158, bgo#545875, + bgo#549236, bgo#549354, bgo#549734, bgo#549262, bgo#549810, + bgo#437791, bgo#549943, bgo#547449, bgo#550528, bgo#548993, + bgo#520165, bgo#528091, bgo#528975, bgo#543308, bgo#549322, and + bgo#549711 + + Updated translations. + +------------------------------------------------------------------- +Thu Aug 28 17:30:27 CEST 2008 - maw@suse.de + +- Update to version 2.13.7: + + Bugs fixed: bgo#545031, bgo#535573, bgo#546771, bgo#546756, + bgo#547027, bgo#544863, bgo#547211, bgo#547270, bgo#546616, + bgo#546754, bgo#546730, bgo#526234, bgo#547456, bgo#547516, + bgo#547673, bgo#547775, bgo#547846, bgo#547655, bgo#547944, + bgo#547680, bgo#546549, and bgo#532644 + + Updated translations +- Don't require gcc-c++ to build. + +------------------------------------------------------------------- +Thu Aug 14 21:32:03 CEST 2008 - maw@suse.de + +- Respin gtk+-strict-aliasing.patch to fix a build failure. + +------------------------------------------------------------------- +Wed Aug 6 13:07:41 CDT 2008 - maw@suse.de + +- Update to version 2.13.6: + + Fix a long-standing, well-known problem with the handling + of insensitive buttons, bgo#56070 + + Fallback to Xinerama if the Xrandr implementation + is just a stub + + gdk_threads_add_timeout_seconds[_full]: New functions with + second-granularity to complete the set of gdk_threads_ timeout + functions + + Support rendering icons with emblems specified as + GEmblemedIcon + + GtkFileChooser has a GFile-oriented API now, and functions + for creating filechoosers with specific backends have been + deprecated because GIO is used directly + + GtkAdjustment has been sealed, with getters and setters added + for all struct fields + + Bugs fixed: bgo#544265, bgo#543915, bgo#544510, bgo#544390, + bgo#361561, bgo#368234, bgo#545976, bgo#545978, bgo#544863, + bgo#424207, bgo#56070, bgo#545931, bgo#344383, bgo#65818, + bgo#539733, bgo#523950, bgo#526575, bgo#429411, bgo#429427, + bgo#544302, bgo#339699, bgo#538686, bgo#540379, bgo#544684, + bgo#540834, bgo#515596, bgo#534979, bgo#382291, bgo#545982, + and bgo#544858 + + Updated translations. + +------------------------------------------------------------------- +Thu Jul 31 18:04:14 CDT 2008 - maw@suse.de + +- Update to version 2.13.5: + + Merge the GSEAL branch (see http://live.gnome.org/GTK+/3.0/Tasks); + as a result, members of structures can be conditionally be + made "inaccessible" + + GtkScaleButton now has an orientation property + + gdk-pixbuf: + * Use GIO for mime type sniffing when possible + + Printing: + * Handle paused printers and printers that don't accept jobs + + GtkBuilder: + * Support building parts of the XML tree with the new + functions gtk_builder_add_objects_from_file and + gtk_builder_add_objects_from_string + + Bugs fixed: bgo#538519, bgo#538362, bgo#538182, bgo#508751, + bgo#419737, bgo#538784, bgo#538395, bgo#539363, bgo#539466, + bgo#442042, bgo#540318, bgo#530255, bgo#540310, bgo#434535, + bgo#539790, bgo#539164, bgo#541162, bgo#455268, bgo#537591, + bgo#541249, bgo#541305, bgo#540529, bgo#538547, bgo#535498, + bgo#539944, bgo#540915, bgo#538863, bgo#540861, bgo#540612, + bgo#540618, bgo#539944, bgo#536966, bgo#378158, bgo#516092, + bgo#536430, bgo#538378, bgo#539095, bgo#539470, bgo#539732, + bgo#540235, bgo#537639, bgo#540917, bgo#541645, bgo#493008, + bgo#539248, bgo#327582, bgo#343663, bgo#541811, bgo#541540, + bgo#513580, bgo#531129, bgo#510225, bgo#507953, bgo#469068, + bgo#528845, bgo#540994, bgo#541964, bgo#541950, bgo#542234, + bgo#541399, bgo#334418, bgo#321896, bgo#316087, bgo#542853, + bgo#507394, bgo#488766, bgo#479780, bgo#542523, bgo#384940, + bgo#339591, bgo#543244, bgo#447998, bgo#543217, bgo#543545, + bgo#401985, bgo#543085, bgo#488019, bgo#528822, bgo#540967, + bgo#537430, bgo#543989, and bgo#535223 + + Updated translations +- Respin gtk+-strict-aliasing.patch +- Drop gtk2-remove-empty-cache.patch and update SuSEconfig.gtk2. + +------------------------------------------------------------------- +Wed Jul 23 07:27:02 CEST 2008 - coolo@suse.de + +- obsolete gail- + +------------------------------------------------------------------- +Mon Jul 21 21:08:28 CEST 2008 - federico@novell.com + +- Tagged all the patches that didn't have tags. +- Removed gtktextview.c.diff. It was for the obsolete + https://bugzilla.novell.com/show_bug.cgi?id=380 (a crash in Red + Carpet), but since that product is dead now, and the fix was never + diagnosed properly, we can kill the patch now. +- Removed gtk2-gtkicontheme-autoupdate.patch - no idea what bug that + was trying to fix, and that was never documented in the ChangeLog. + This could have been https://bugzilla.novell.com/show_bug.cgi?id=100697 +- Removed gtk+-2.8.6-fontsel.patch and gtk+-2.8.6-fontsel-fix.patch; + replaced them by a consolidated + gtk2-bnc130159-bgo319483-async-selection-in-gtk-font-selection.diff + +------------------------------------------------------------------- +Fri Jul 11 17:09:31 CEST 2008 - maw@suse.de + +- Move gtk-builder-convert to the -devel subpackage +- So that gtk-builder-convert can actually run, make the -devel + subpackage require pyxml. + +------------------------------------------------------------------- +Wed Jun 18 22:20:44 CEST 2008 - maw@suse.de + +- Update to version 2.13.3: + + Support runtime font configuration changes + + Use GIO for mime information + + Use GIO directly for the file chooser, do not load filesystem + implementation modules + + GTK+ no longer uses translations when the application is not + translated to the current locale + + Bugs fixed: bgo#520874, bgo#536185, bgo#536757, bgo#536990, + bgo#535608, bgo#488119, bgo#536730, bgo#131920, bgo#526987, + bgo#536765, bgo#503071, bgo#517706, bgo#519092, bgo#524222, + bgo#537985, bgo#531960, bgo#408154, bgo#506853, bgo#536430, and + bgo#537685 + + Updated translations. + +------------------------------------------------------------------- +Mon Jun 16 23:34:39 CEST 2008 - maw@suse.de + +- Provide and obsolete gail-devel in gtk2-devel. + +------------------------------------------------------------------- +Fri Jun 6 21:51:09 CEST 2008 - maw@suse.de + +- Update to version 2.13.2: + + gdk-pixbuf: + * Support loading the OS X icns format + * Support loading of JPEG2000 images + * Support loading from and saving to GIO streams + + GDK: + * Add GdkAppLaunchContext, to provide startup notification + with g_app_info_launch() + * Use RandR 1.2 instead of Xinerama when available, and expose + more monitor information + + Accessibility: + * The gail module is now shipped as part of GTK+ + * GtkStatusIcon supports keyboard navigation + + GtkCalendar: + * Support displaying details for each day + + GtkBuilder: + * gtk-builder-convert has been improved + * Translation-domain works properly + * Support accessibility + + Testing support: + * Add utilities for testing GTK+ applications + * Add some unit tests for GTK+ + + New settings: + * for disabling display of accelerators and mnemonics + * for position of vertical scrollbars in scrolled windows + * for the default input method + + GtkToolShell: new interface for containers of GtkToolItems + + Many bugfixes + + Updated translations +- Respin the following patches: gtk+-strict-aliasing.patch and + gtk2-remove-empty-cache.patch +- Remove the following upstreamed patches: + gtk2-bnc171077-bgo314873-filechooser-tab-in-the-middle-of-entry.diff + and gtk2-bnc355225-filechooser-tab-completion-crash.diff +- Provide and obsolete gail. + +------------------------------------------------------------------- +Tue Jun 3 22:46:27 CEST 2008 - federico@novell.com + +- Added gtk2-bnc355225-filechooser-tab-completion-crash.diff to fix + the crash in https://bugzilla.novell.com/show_bug.cgi?id=355225 - + The file chooser could crash when pressing Tab repeatedly to do + completion. + +------------------------------------------------------------------- +Tue May 6 14:34:38 CEST 2008 - schwab@suse.de + +- Don't use libtool before it is created. + +------------------------------------------------------------------- +Tue May 6 02:02:14 CEST 2008 - federico@novell.com + +- Added gtk2-bnc310710-bgo524166-underallocated-gtklabel-position.diff + to fix https://bugzilla.novell.com/show_bug.cgi?id=310710 - Labels + with too-small allocations should still pay attention to their + alignment. This fixes a clipped "Computer" label in + gnome-main-menu. + +------------------------------------------------------------------- +Tue Apr 22 15:58:11 CEST 2008 - sbrabec@suse.cz + +- Added patch supporting /usr/local instead of /etc/profile.d stuff + doing nearly the same (bnc#369696). + +------------------------------------------------------------------- +Mon Apr 14 19:12:08 CEST 2008 - sbrabec@suse.cz + +- Use packageand form of branding supplement. + +------------------------------------------------------------------- +Sat Apr 12 00:12:28 CEST 2008 - maw@suse.de + +- Tag gtk2-libtool.patch, which was added in the previous + submission. + +------------------------------------------------------------------- +Fri Apr 11 14:19:58 CEST 2008 - schwab@suse.de + +- Work around broken configure script. + +------------------------------------------------------------------- +Thu Apr 10 12:54:45 CEST 2008 - ro@suse.de + +- added baselibs.conf file to build xxbit packages + for multilib support + +------------------------------------------------------------------- +Thu Apr 3 19:51:23 CEST 2008 - maw@suse.de + +- Don't own uz@cyrillic locale directories; they're now part of + the filesystem package. + +------------------------------------------------------------------- +Tue Apr 1 18:42:20 CEST 2008 - coolo@suse.de + +- moving recommends of gvfs from glib2 + +------------------------------------------------------------------- +Thu Mar 27 19:34:53 CET 2008 - federico@novell.com + +- Removed gtk2-303869-disable-icon-cache-validation.diff, as this + patch made it into the stock tarball. +- Added + gtk2-bnc171077-bgo314873-filechooser-tab-in-the-middle-of-entry.diff + to fix https://bugzilla.novell.com/show_bug.cgi?id=171077 - The GTK+ + file dialog now lets you use Tab completion even when the cursor is + not at the end of the text in the filename entry. Completion is + also improved in general. + +------------------------------------------------------------------- +Wed Mar 19 18:35:06 CET 2008 - vuntz@suse.de + +- Add gtk2-bnc343858-buggy-intel-xinerama.patch to sanitize + overlapping monitors, a situation that can happen with some intel + cards. + +------------------------------------------------------------------- +Sat Mar 15 07:23:26 CET 2008 - aj@suse.de + +- Add gtk-warn.patch which fixes a missing declaration that resulted + in code that was not 64-bit clean. + +------------------------------------------------------------------- +Thu Mar 13 13:52:41 CET 2008 - rodrigo@suse.de + +- Update to version 2.12.9: + + http://ftp.gnome.org/pub/GNOME/sources/gtk+/2.12/gtk+-2.12.9.news + +------------------------------------------------------------------- +Fri Mar 7 17:25:47 CET 2008 - sbrabec@suse.cz + +- Created a dummy upstream branding as a separate package. + +------------------------------------------------------------------- +Mon Feb 18 17:21:11 CET 2008 - maw@suse.de + +- Update to version 2.12.8: + + Make the directfb backend build with GLib 2.15 + + Improve the handling of modal windows on win32 + + GtkFileChooser: + + Activate bookmarks on single-click + + Improve some focus handling issues + + Don't select filename extensions in the save dialog + + GtkBuilder supports accessibility properties and + relations now + + Bugs fixed: bgo#499835, bgo#516024, bgo#144269, bgo#419737, + bgo#148828, bgo#455627, bgo#473786, bgo#494515, bgo#499940, + bgo#503569, bgo#505928, bgo#511111, bgo#511987, bgo#514621, + bgo#514643, bgo#514789, bgo#515047, bgo#515667, bgo#362516, + bgo#506769, bgo#477175, bgo#496645, bgo#496651, bgo#504611, + bgo#507751, bgo#508516, bgo#509153, bgo#512375, and + bgo#454653 + + Updated translations. + +------------------------------------------------------------------- +Tue Jan 29 10:48:21 CET 2008 - sbrabec@suse.cz + +- Use glibc locale for week info with glibc >= 2.7 (bnc#104417). + +------------------------------------------------------------------- +Wed Jan 23 10:06:50 CST 2008 - maw@suse.de + +- Update to version 2.12.5: + + Bugs (bugzilla.gnome.org) fixed: #494667, #496546, #503824, + #388321, #503190, #491847, #492977, #499951, #502250, #503569, + #504753, #504804, #504984, #505708, #506107, #502850, and + #504749 + + Updated translations. + +------------------------------------------------------------------- +Mon Dec 17 14:36:49 CST 2007 - maw@suse.de + +- Update to version 2.12.3: + + Bugs (bugzilla.gnome.org) fixed: #494776, #482531, #488918, + #347585, #479463, #164537, #371036, #388321, #405178, #461222, + #467711, #467722, #468793, #473813, #476827, #485662, #486369, + #486420, #487954, #488017, #488051, #489370, #491207, #492117, + #492209, #493404, #495574, #495769, #496689, #497164, #499703, + #107398, #463865, #489782, #490624, #496734, #496795, #498922, + #467490, #497102, #499868, #500804, #144269, #495124, and + #501583 + + Updated translations. + +------------------------------------------------------------------- +Mon Dec 17 14:30:57 CST 2007 - maw@suse.de + +- Remove mtime.patch, as it's upstreamed as of 2.12.1. + +------------------------------------------------------------------- +Wed Dec 12 19:21:53 CET 2007 - schwab@suse.de + +- Fix invalid casts. + +------------------------------------------------------------------- +Fri Nov 23 12:05:34 CST 2007 - maw@suse.de + +- Update to version 2.12.1: + + Bugs (bugzilla.gnome.org) fixed: #472965, #460194, #478803, + #480123, #483223, #476342, #484008, #327243, #465380, #467269, + #476686, #478173, #478371, #482089, #482504, #482841, #483563, + #483730, #484650, #484730, #486360, #389358, #448343, #477447, + #482034, #482837, #478637, #484132, #486636, #455284, #478377, + #485301, #485437, #486155, #339877, #456137, #456676, #352643, + #477280, #477704, and #476920 + + Updated translations +- Remove gtk2-swt-tooltips.patch, which has been upstreamed +- Respin gtk2-303869-disable-icon-cache-validation.diff. + +------------------------------------------------------------------- +Fri Sep 28 17:22:28 CEST 2007 - btimothy@suse.de + +- Added gtk2-swt-tooltips.patch (bugzilla.gnome.org #460194) to + fix bugzilla.novell.com #326059, a crash when mousing over + tooltips. + +------------------------------------------------------------------- +Mon Sep 17 16:40:46 CEST 2007 - maw@suse.de + +- Very minor .spec reorganization. + +------------------------------------------------------------------- +Mon Sep 17 13:24:52 CEST 2007 - sbrabec@suse.cz + +- Updated to version 2.12.0: + * GtkTooltips: All widgets have been ported to the new tooltips + code, tooltips are disabled in touchscreen mode + * GtkBuilder: Support custom tabs in GtkPrintUnixDialog + * Many bugs fixed + * Translations update + +------------------------------------------------------------------- +Thu Sep 13 18:00:31 CEST 2007 - maw@suse.de + +- Add gtk2-bnc305195-bgo449371-menu-button-release-1.patch (#305195, + and bugzilla.gnome.org #449371 by way of bugzilla.gnome.org + #474331), which fixes problems observed in nautilus where Right + click -> Create Document fails. + +------------------------------------------------------------------- +Thu Sep 13 10:15:58 CEST 2007 - stbinner@suse.de + +- tag strange uz@cyrillic directories with %lang(uz@cyrillic) + +------------------------------------------------------------------- +Thu Sep 13 00:08:54 CEST 2007 - federico@novell.com + +- Added gtk2-303869-disable-icon-cache-validation.diff to fix the + critical part of https://bugzillanovell.com/show_bug.cgi?id=303869 + - icon caches now only get validated if GTK_DEBUG=icontheme is set. + This prevents major page-ins at application startup. + +------------------------------------------------------------------- +Wed Sep 12 12:55:45 CEST 2007 - sbrabec@suse.cz + +- Don't delete outdated icon theme cache by SuSEconfig (#303869#c7, + GNOME#331671). + +------------------------------------------------------------------- +Fri Aug 31 09:23:13 CEST 2007 - stbinner@suse.de + +- add gtk2-flash-player-busyloop.patch to fix busy loop of flash + player plugin within Opera and Konqueror (#294385) + +------------------------------------------------------------------- +Tue Aug 14 22:35:07 CEST 2007 - jpr@suse.de + +- Enable xinput for wacom tablets, it needs a configure flag + +------------------------------------------------------------------- +Tue Aug 14 16:21:35 CEST 2007 - jpr@suse.de + +- Backport tooltip fixes from upstream svn (#298343, #297149) + +------------------------------------------------------------------- +Mon Aug 13 20:06:05 CEST 2007 - federico@novell.com + +- Removed references to obsolete patches from the SPEC file. Fixes + https://bugzilla.novell.com/show_bug.cgi?id=299262 + +------------------------------------------------------------------- +Mon Aug 6 23:38:12 CEST 2007 - maw@suse.de + +- Split out a -lang subpackage +- Use %fdupes. + +------------------------------------------------------------------- +Thu Jul 26 19:29:58 CEST 2007 - maw@suse.de + +- Update to version 2.11.6 +- GtkBuilder: + + The gtk-builder-convert script is more versatile + + GtkBuilder suppports GdkPixbuf properties + + GtkBuilder parses, but doesn't yet implement + + Support for accelerators in actions has been added +- GtkTooltips: + + The old tooltips API has been deprecated + + The has-tooltip property has getter and setter +- GtkTreeView: + + Convenience API to set tooltips: gtk_tree_view_set_tooltip_row(), + gtk_tree_view_set_tooltip_cell(), gtk_tree_view_get_tooltip_context(), + gtk_tree_view_set_tooltip_column() + +- GtkIconView: + + Convenience API to set tooltips: gtk_icon_view_set_tooltip_item(), + gtk_icon_view_set_tooltip_cell(), gtk_icon_view_get_tooltip_context(), + gtk_icon_view_set_tooltip_column() + +- Bug fixes (against bugzilla.gnome.org): + 452598 crash in Evolution: Added an Evolution attac... + 447966 Add builder support for GdkPixbuf properties + 453033 gnome-panel crashed with SIGSEGV in idle_populate_func() + 453365 gdk_pixbuf_get_file_info crashes on tif files + 361781 GtkViewport size request includes xthickness/ythickness f... + 427899 GtkFrame's label may exceed the frame area + 430049 gtk_selection_data_set_text() ignores length argument + 436965 Add files to /po[-properties]/POTFILES.in + 437281 gtk_button_set_image destroyes the old image + 448604 gtk+ printbackends build fix + 449311 GtkVolumeButton should use new tooltip API + 451164 I translate gnome-desktop. But i have no svn account and ... + 451575 (API) Changes needed for GtkTooltips deprecation + 452425 Setting "tooltip-text" property to NULL has bad effects + 452861 gtk_label_set_pattern() is not working anymore + 452988 error handling in GtkCellLayout custom parser + 453411 Button state not included in key events + 453413 Key event state is not right for modifier keys + 454654 Accelerator support for actions + 454700 Minor update for gdk_threads_enter + 454703 gdk_window_invalidate_rect accepts NULL + 454830 gtk-builder-convert not converting menus + 452056 GtkComboBox doesn't emit 'changed' signal when active row... + 452278 GtkBuilder API Documentation + 453316 small documentation fix in GtkDrawingArea API documentation + 453673 small doc quirk in gtk/gtktreeview.c + 453930 small doc quirk in gtk/gtktooltip.c + 454596 [patch] gdkpixbuf-scale slight api doc improvement + 454835 [patch] example in gdk-pixbuf-scaling using deprecated gd... + 457384 critical warning from entrycompletion + 112404 Problem with focus when closing transient window + 172424 Most GtkWidget events have no documentation + 408327 Improving tooltip positioning + 439480 translations + 439715 GtkFileChooser - recent files option takes up 100% CPU. + 455482 remove old tooltips work-around from uimanager + 455721 mem leak when adding shortcut + 455901 mem leak in path bar + 455984 need a way to convert to bin_window coordinates + 457720 assertion `G_IS_VALUE (value)' failed progmatically "tabb... + 458298 broken cursor movement with inline selection + 456258 GtkScaleButton: value parameter of signal "value-changed"... + 457774 GtkTreeView::test_expand_row and test_collapse_row + 455645 intern action names + +- Updated translations +- s#%run_ldconfig#/sbin/ldconfig/ in %post and %postun. + +------------------------------------------------------------------- +Thu Jul 5 20:34:18 CEST 2007 - maw@suse.de + +- Update to version 2.11.5: +- New APIs, many bugfixes, and improved translations. + +------------------------------------------------------------------- +Fri May 4 15:07:04 CEST 2007 - pgajdos@suse.cz + +- adding hicolor-icon-theme to Requires [#249043] + +------------------------------------------------------------------- +Thu Apr 19 12:03:50 CEST 2007 - sbrabec@suse.cz + +- Correctly initialize XDG_DATA_DIRS in SuSEconfig (#240603). + +------------------------------------------------------------------- +Wed Apr 11 18:52:54 CDT 2007 - maw@suse.de + +- Remove some extraneous comments that were inadvertently left + in the .spec. + +------------------------------------------------------------------- +Tue Apr 10 15:38:17 CEST 2007 - sbrabec@suse.cz + +- Updated to version 2.10.11: + * Fixed GtkNotebook change that broke tabbed browsing in Epiphany + +------------------------------------------------------------------- +Tue Apr 3 14:55:09 CEST 2007 - sbrabec@suse.cz + +- Disabled DirectFB by default (#256775). + +------------------------------------------------------------------- +Wed Mar 21 13:16:22 CST 2007 - maw@suse.de + +- Update to version 2.10.10 +- Bugfixes, including bugzilla.gnome.org 399907, 396899, 402453, + 402806, 403409, 403896, 46757, 405696, 377164, 310522, 389765, + 408018, 386618, 403139, 356515, 382565, 409101, 325477, 151169, + 143213, 153785, 402131, 412596, 413492, 414875, 415645, 414975, + 124045, 412221, 356515, 413664, 413032, 416525, 331369, 335796, + 351671, 396703, 356515, 350988, 396805, and 382904. + +------------------------------------------------------------------- +Mon Feb 26 18:55:40 CET 2007 - sbrabec@suse.cz + +- Fixed gtk64.patch. + +------------------------------------------------------------------- +Fri Feb 16 12:05:17 CST 2007 - maw@suse.de + +- Update to 2.10.9 +- Remove gtk2-pa.patch, gtk-pixbuf-226710.patch which are now + upstream + +------------------------------------------------------------------- +Tue Feb 13 21:42:28 CET 2007 - jhargadon@suse.de + +- changed the specfile to install gtkrc with 644 permissions + +------------------------------------------------------------------- +Wed Jan 24 19:54:48 CET 2007 - federico@novell.com + +- Added gtk2-216883-filechooser-fix-invisible-shortcuts.diff to fix + https://bugzilla.novell.com/show_bug.cgi?id=216883. The "Home" and + "Desktop" items in the shortcuts pane of the file chooser would not + show sometimes in SAVE mode. + +------------------------------------------------------------------- +Wed Jan 17 18:26:06 CST 2007 - maw@suse.de + +- Add gtk2-235661-pixbuf-loader-error-checking.diff (#235661). + +------------------------------------------------------------------- +Tue Jan 16 17:25:30 CET 2007 - sbrabec@suse.cz + +- Build with correct CFLAGS. + +------------------------------------------------------------------- +Fri Jan 12 19:10:14 CET 2007 - maw@suse.de + +- Add gdk-pixbuf-226710.patch (#226710, and CVE-2007-0010). + +------------------------------------------------------------------- +Fri Jan 5 15:12:28 CET 2007 - sbrabec@suse.cz + +- Build cups print backend. + +------------------------------------------------------------------- +Thu Jan 4 16:20:48 CET 2007 - sbrabec@suse.cz + +- No more depend on gnome-filesystem in SuSEconfig.gtk2. + +------------------------------------------------------------------- +Mon Dec 11 19:21:40 CET 2006 - sbrabec@suse.cz + +- Prefix changed to /usr. +- Spec file cleanup. + +------------------------------------------------------------------- +Sat Nov 11 01:08:38 CET 2006 - danw@suse.de + +- Update gtk64.patch to fix stock icon cache on x86_64 (213922) + +------------------------------------------------------------------- +Wed Nov 8 01:06:19 CET 2006 - jhargadon@suse.de + +- removed the execute bit from /etc/opt/gnome/gtk-2.0/gtkrc + +------------------------------------------------------------------- +Tue Oct 17 22:57:19 CEST 2006 - jhargadon@suse.de + +- update to version 2.10.6 +- Bugs fixed: +- 358931 2.10.5 build issue due to a typo +- 357280 Compile crashes +- 359053 Reduce relocations +- 359052 gtk_print_settings_get_duplex() return wrong + value for one of vertical setting + +------------------------------------------------------------------- +Sat Oct 14 23:31:48 CEST 2006 - danw@suse.de + +- Remove dead patches +- Remove gtk2-179040-file-chooser-location-entry-folder.diff, which + never actually worked, but was effectively reverted in CODE10 by + gtk2-184875-filechooser-location-entry-set-path.diff, the rest of + which is now upstream. + +------------------------------------------------------------------- +Mon Oct 2 21:24:49 CEST 2006 - jhargadon@suse.de + +- update to version 2.10.5 +- many bugs fixes +- Updated translations +- Windows theme engine improvements +- GtkFileChooser works better with remote bookmarks + +------------------------------------------------------------------- +Fri Sep 15 12:36:43 CEST 2006 - sbrabec@suse.cz + +- Fixed module directories ownership. + +------------------------------------------------------------------- +Thu Sep 14 17:46:37 CEST 2006 - jhargadon@suse.de + +- update to version 2.10.3 +* GtkFileChooser: + - Fix several Win32-specific problems + - Add automated tests for GtkFileSystem + - Make overwrite confirmation work again + +* Printing support: + - Fix confusion between names and values in combo boxes + - Poll for printer list updates in the cups backend + +* Add an automatic scrolling example to gtk-demo + +* Bugs fixed: + 354004 Use of g_warning("%s", NULL) after failing to + open a display + 346751 symbolic colors can't be use in properties + 352264 gtk_status_icon_set_from_pixbuf leaks the old + pixbuf + 352391 small link button leak + 353449 A break is missing in + gtk_recent_chooser_menu_set_current_uri + 329604 do not scroll on copy to clipboard + 354035 Typo in the GtkWidget::drag-drop doc blurb +- translation updates + +------------------------------------------------------------------- +Fri Aug 18 18:32:11 CEST 2006 - jhargadon@suse.de + +- update to version 2.10.2 +- Revert to using gtk modules with global binding +- Poll for changes to the XBEL file +- Fix initial bad placement of recent files menu +- Show nonexisting resources by default, and do + not mark them as insensitive +- Allow adding a filter to GtkRecentChooserMenu +- many bug fixes + +------------------------------------------------------------------- +Thu Aug 17 17:43:00 CEST 2006 - sbrabec@suse.cz + +- Typo fix in gtk64.patch. + +------------------------------------------------------------------- +Wed Aug 9 10:09:42 CEST 2006 - aj@suse.de + +- Fix lib64 patch to apply. +- Fix po files to pass new gettext checks. + +------------------------------------------------------------------- +Fri Jul 28 23:12:33 CEST 2006 - gekker@suse.de + +- Update to version 2.10.1 +- Remove upstream patchesa +- lots of updates in the printing area +- various fixes in many other places +- countless bugfixes + + +------------------------------------------------------------------- +Wed Jun 21 07:43:10 CEST 2006 - federico@novell.com + +- Added gtk2-184875-filechooser-location-entry-set-path.diff to fix + https://bugzilla.novell.com/show_bug.cgi?id=184875. This makes the + location entry in the file chooser preserve the filename from + gtk_file_chooser_set_filename() and set_uri(). It was incorrectly + using just the directory name instead of the file name. + +------------------------------------------------------------------- +Wed Jun 7 01:08:09 CEST 2006 - federico@novell.com + +- Added gtk2-179040-file-chooser-location-entry-folder.diff to fix + https://bugzilla.novell.com/show_bug.cgi?id=179040. This makes the + location entry in GtkFileChooser update correctly when you switch + folders. +- Added gtk2-161043-calendar-sane-timer.diff to fix + https://bugzilla.novell.com/show_bug.cgi?id=161043. This makes + GtkCalendar use a more forgiving timeout value when going through + months or years. + +------------------------------------------------------------------- +Thu Jun 1 13:56:24 CEST 2006 - sbrabec@suse.cz + +- Fixed I18N of file selector navigation buttons (#180696). + +------------------------------------------------------------------- +Sun May 28 04:33:03 CEST 2006 - joeshaw@suse.de + +- Add gtk2-filechooserbutton-signal-disconnect-fix.patch to fix + a crash when a GtkFileChooserButton is destroyed but not + finalized and bookmarks or volumes change. (bnc #178122) + +------------------------------------------------------------------- +Wed May 24 02:15:51 CEST 2006 - federico@novell.com + +- Updated gtk+-2.8.6-fontsel-fix.patch to fix bug + https://bugzilla.novell.com/show_bug.cgi?id=177997. The previous + patch caused crashes in all font selectors. + +------------------------------------------------------------------- +Wed May 17 18:24:32 CEST 2006 - bk@suse.de + +- GtkFontSelection: Fix deadlock when used by GtkFontButton (153099) + +------------------------------------------------------------------- +Thu May 4 22:35:09 CEST 2006 - dobey@suse.de + +- Add in default gtkrc file to set theme/icon theme under KDE/etc + Fixes https://bugzilla.novell.com/show_bug.cgi?id=172779 + +------------------------------------------------------------------- +Mon Apr 17 20:23:31 CEST 2006 - federico@novell.com + +- Updated gtk2-filechooser-new-features.diff to fix these bugs: + https://bugzilla.novell.com/show_bug.cgi?id=163234 - The file + chooser now sorts the list of Beagle hits by modification date. + https://bugzilla.novell.com/show_bug.cgi?id=166906 - The file + chooser in SAVE mode will now give the right filename if the user + just switched folders. + +------------------------------------------------------------------- +Mon Apr 3 13:33:16 CEST 2006 - sbrabec@suse.cz + +- Fixed context translation bugs (GNOME#336645). + +------------------------------------------------------------------- +Thu Mar 30 02:36:31 CEST 2006 - federico@novell.com + +- Removed gtk2-151580-filechooser-beagle.diff. +- Added gtk2-filechooser-new-features.diff. This fixes bug #160605, + so the file chooser now has an optional text entry for the file + name. Also, it integrates the functionality for Beagle searching + into the same patch. + +------------------------------------------------------------------- +Fri Mar 24 19:12:59 CET 2006 - rml@suse.de + +- Set default invisible char to something stetic (bug #160688) + +------------------------------------------------------------------- +Fri Mar 24 03:51:56 CET 2006 - federico@novell.com + +- Updated gtk2-151580-filechooser-beagle.diff to fix bug #156843. + With this, the file chooser will no longer show a "Search" item in + the "Save in folder" combo box. + +------------------------------------------------------------------- +Mon Mar 13 12:25:19 CET 2006 - sbrabec@suse.cz + +- Do not believe glibc first weekday (#130787, #104417). + +------------------------------------------------------------------- +Tue Mar 7 04:40:12 CET 2006 - zsu@suse.de + +- Fixed gtkvts crash bug introduced by gtk+-2.8.6-fontsel.patch [#153099]. + +------------------------------------------------------------------- +Thu Feb 23 20:38:53 CET 2006 - federico@novell.com + +- Updated gtk2-151580-filechooser-beagle.diff; now we hide the search + results that correspond to the system documentation. This produces + less clutter. + +------------------------------------------------------------------- +Fri Feb 17 18:12:53 CET 2006 - federico@novell.com + +- Added gtk2-151580-filechooser-beagle.diff to integrate Beagle + searching into the file chooser. This fixes + https://bugzilla.novell.com/show_bug.cgi?id=151580 (about Beagle + support) and https://bugzilla.novell.com/show_bug.cgi?id=148896 + (about not having a highlighted shortcut at startup). + +------------------------------------------------------------------- +Fri Feb 3 23:55:29 CET 2006 - federico@novell.com + +- Added gtk2-117163-cairo-repeat-pattern-workaround.diff as a fix for bug #117163. + In this bug, the desktop gets repainted very slowly due to bugs in Cairo and XRENDER. + The workaround uses a faster code path in GTK+. + +------------------------------------------------------------------- +Thu Feb 2 19:10:48 CET 2006 - gekker@suse.de + +- Backport critical fixes from 2.8.11 (#153213,326806,327751) + +------------------------------------------------------------------- +Wed Feb 1 17:21:32 CET 2006 - sbrabec@suse.cz + +- Translations from localize-font-style-name moved + to translation compendium gnome-patch-translation. + +------------------------------------------------------------------- +Wed Jan 25 21:32:08 CET 2006 - mls@suse.de + +- converted neededforbuild to BuildRequires + +------------------------------------------------------------------- +Wed Jan 18 03:32:26 CET 2006 - gekker@suse.de + +- Add patch to improve scrolling speed in font selection (#130159) + +------------------------------------------------------------------- +Mon Jan 16 16:47:11 CET 2006 - meissner@suse.de + +- use -fstack-protector. + +------------------------------------------------------------------- +Fri Jan 13 17:31:49 CET 2006 - sbrabec@suse.cz + +- Updated to version 2.8.10. + +------------------------------------------------------------------- +Wed Jan 11 14:02:57 CET 2006 - sbrabec@suse.cz + +- Removed libpixman from neededforbuild. + +------------------------------------------------------------------- +Wed Jan 11 10:49:10 CET 2006 - meissner@suse.de + +- Added -fno-strict-aliasing. + +------------------------------------------------------------------- +Mon Jan 09 12:17:13 CET 2006 - mfabian@suse.de + +- Bugzilla #131498: don't limit the default for the GTK2 xim module + to "ko:ja:th:zh", use "*" (all languages) instead. + +------------------------------------------------------------------- +Fri Dec 30 14:29:34 CET 2005 - mfabian@suse.de + +- Bugzilla #129753: Localize font style name in gtk font selection + dialog and font button (add patch by Zhe Su ). + Patch updated for gtk+-2.8.9 and German translations of the + style names added. + +------------------------------------------------------------------- +Tue Dec 20 12:24:58 CET 2005 - ro@suse.de + +- also pack translations for gtk20-properties + +------------------------------------------------------------------- +Wed Dec 14 19:16:16 CET 2005 - sbrabec@suse.cz + +- Updated to version 2.8.9. +- Added related old version cleanups (feature #2852). + +------------------------------------------------------------------- +Wed Nov 30 14:25:44 CET 2005 - sbrabec@suse.cz + +- Updated to version 2.8.8. + +------------------------------------------------------------------- +Fri Nov 18 15:47:49 CET 2005 - sbrabec@suse.cz + +- Updated to version 2.8.7. +- Removed obsolete build hacks. +- Try to build with ELF visibility. + +------------------------------------------------------------------- +Tue Nov 15 15:56:20 CET 2005 - sbrabec@suse.cz + +- Fixed XPM buffer overflow vulnerability (#129642). +- More XPM fixes: CVE-2005-2975 xpm too many colors DoS (#129642) +- Removed xrender work-around. + +------------------------------------------------------------------- +Fri Oct 28 19:10:33 CEST 2005 - federico@novell.com + +- Added gtk2-127646-dnd-cursor-offset.diff to fix the position of the default + cursor for drag and drop. + +------------------------------------------------------------------- +Tue Oct 11 23:35:38 CEST 2005 - gekker@suse.de + +- Update to version 2.8.6 +- Fix return of random data + +------------------------------------------------------------------- +Wed Oct 5 01:11:46 CEST 2005 - federico@novell.com + +- Added gtk2-file-chooser-consistent-home-folder-name.diff so that + $HOME will not appear as "Home", but rather as its actual name. + This avoids having [/][home][Home] on the path bar. +- This patch also adds an Alt-D shortcut to the file chooser, to make + it go to your Desktop folder. + +------------------------------------------------------------------- +Mon Oct 3 17:17:46 CEST 2005 - gekker@suse.de + +- Update to version 2.8.4 +- Remove upstream patches + +------------------------------------------------------------------- +Fri Sep 30 01:34:48 CEST 2005 - federico@novell.com + +- Added gtk2-file-chooser-create-save-widgets-only-if-needed.diff and + gtk2-file-chooser-no-reload.diff as optimizations for the file + chooser's startup time. + +------------------------------------------------------------------- +Thu Sep 15 22:13:15 CEST 2005 - gekker@suse.de + +- Fix quoting in SuSEconfig.gtk2 (113511) + +------------------------------------------------------------------- +Thu Sep 8 15:55:39 CEST 2005 - sbrabec@suse.cz + +- Fixed outdated cache files heuristics in SuSEconfig (#113261). + +------------------------------------------------------------------- +Wed Sep 7 18:55:54 CEST 2005 - sbrabec@suse.cz + +- Fixed first weekday bug with latest glibc localedata (#104417). + +------------------------------------------------------------------- +Thu Sep 1 19:46:12 CEST 2005 - gekker@suse.de + +- Update to version 2.8.3 +- Remove upstreamed patch + +------------------------------------------------------------------- +Fri Aug 26 19:54:13 CEST 2005 - jpr@suse.de + +- Patch gtk-update-icon-cache to be a little smarter and alter the + SuSEconfig.gtk2 script to be smarter about removing dead cache files. + +------------------------------------------------------------------- +Wed Aug 24 22:40:56 CEST 2005 - gekker@suse.de + +- Update to version 2.8.2 + +------------------------------------------------------------------- +Wed Aug 24 16:50:19 CEST 2005 - rodrigo@suse.de + +- Update to version 2.8.1 +- Updated gtk+-strict-aliasing.patch. + +------------------------------------------------------------------- +Thu Aug 18 06:33:24 CEST 2005 - gekker@suse.de + +- Update version to 2.8.0 (GNOME2.12) + +------------------------------------------------------------------- +Fri Aug 12 21:42:00 CEST 2005 - gekker@suse.de + +- Fix crash in file chooser b.g.o (310270). + +------------------------------------------------------------------- +Thu Aug 11 02:49:18 CEST 2005 - gekker@suse.de + +- Update to version 2.7.5 +- Remove upstreamed patch + +------------------------------------------------------------------- +Wed Aug 10 23:07:21 CEST 2005 - clahey@suse.de + +- Patch to check for updated icon theme (especially cache) every + 30 seconds. + +------------------------------------------------------------------- +Fri Aug 5 15:30:25 CEST 2005 - sbrabec@suse.cz + +- Create loaders before icon cache to avoid error mesages during + first SuSEconfig run. + +------------------------------------------------------------------- +Thu Aug 4 13:44:35 CEST 2005 - sbrabec@suse.cz + +- Removed pixmaps and icons directories from SuSEconfig (#85839). + +------------------------------------------------------------------- +Tue Aug 2 13:05:39 CEST 2005 - ro@suse.de + +- fix and re-enable gtk64.patch + +------------------------------------------------------------------- +Mon Aug 1 19:03:55 CEST 2005 - gekker@suse.de + +- Update to version 2.7.4 +- Add cairo, libpixman, and glitz to nfb +- Remove upstreamed patch + +------------------------------------------------------------------- +Fri Jun 24 12:57:55 CEST 2005 - sbrabec@suse.cz + +- Fixed devel dependencies. +- Removed .la files for modules. +- Fixed uninitialized variable warnings. + +------------------------------------------------------------------- +Mon Jun 20 14:45:25 CEST 2005 - sbrabec@suse.cz + +- Create icon-cache files by SuSEconfig (#88599). + +------------------------------------------------------------------- +Fri Jun 17 05:50:47 CEST 2005 - gekker@suse.de + +- Fix gtk64.patch and build on x86_64. + +------------------------------------------------------------------- +Fri Jun 17 00:09:27 CEST 2005 - gekker@suse.de + +- Update to version 2.6.8. +- Fix sentinel patch to work with new version of glib2. + +------------------------------------------------------------------- +Wed Jun 1 15:36:31 CEST 2005 - sbrabec@suse.cz + +- Use current name for XFree86-devel in Requires (#54136). + +------------------------------------------------------------------- +Mon May 2 23:00:03 CEST 2005 - gekker@suse.de + +- Fix crasher in gtktextview (380). + +------------------------------------------------------------------- +Mon Apr 4 07:40:13 CEST 2005 - aj@suse.de + +- Disable visibility to build with GCC4. This should be + enabled again once gtk is fixed. + +------------------------------------------------------------------- +Fri Mar 18 22:09:04 CET 2005 - gekker@suse.de + +- Add gtk-esc-closes.diff + +------------------------------------------------------------------- +Wed Mar 2 22:50:31 CET 2005 - gekker@suse.de + +- Updated to version 2.6.4 + +------------------------------------------------------------------- +Mon Feb 7 15:48:24 CET 2005 - sbrabec@suse.cz + +- Updated to version 2.6.2. + +------------------------------------------------------------------- +Sun Jan 30 11:35:56 CET 2005 - meissner@suse.de + +- fixed XIM valist usage 0->NULL. + +------------------------------------------------------------------- +Fri Jan 21 11:17:37 CET 2005 - meissner@suse.de + +- specify valist functions with NULL termination + with sentinel attribute for gcc4. +- parallel make +- fixed one strict aliasing problem +- removed -fno-strict-aliasing, -mminimal-toc + +------------------------------------------------------------------- +Mon Jan 17 12:48:46 CET 2005 - ro@suse.de + +- added c++ to neededforbuild (for libtiff) + +------------------------------------------------------------------- +Mon Jan 17 10:54:33 CET 2005 - clahey@suse.de + +- Updated to version 2.6.1. + +------------------------------------------------------------------- +Wed Jan 12 12:02:43 CET 2005 - gekker@suse.de + +- Update to version 2.6.0 + +------------------------------------------------------------------- +Tue Nov 23 16:48:50 CET 2004 - hhetter@suse.de + +- add some information on how to manually regenerate + gdk-pixbuf-modules if needed + +------------------------------------------------------------------- +Mon Nov 22 15:24:27 CET 2004 - ro@suse.de + +- fix build on 9.2 (missing so links for libXfixes) + +------------------------------------------------------------------- +Fri Nov 19 17:06:33 CET 2004 - ro@suse.de + +- updated gtk64 patch + +------------------------------------------------------------------- +Wed Nov 17 18:00:53 CET 2004 - gekker@suse.de + +- Update version to 2.5.5. + +------------------------------------------------------------------- +Tue Oct 26 22:35:40 CEST 2004 - mmj@suse.de + +- locale rename no to nb + +------------------------------------------------------------------- +Wed Oct 20 14:50:02 CEST 2004 - ro@suse.de + +- make specfile rpm3-save + +------------------------------------------------------------------- +Mon Sep 27 17:23:37 CEST 2004 - sbrabec@suse.cz + +- Added work-around for GTK_PATH bi-arch problems (#45386). + +------------------------------------------------------------------- +Mon Sep 6 15:21:00 CEST 2004 - meissner@suse.de + +- Added ico overflow security patch, CAN-2004-0788. + +------------------------------------------------------------------- +Tue Aug 31 23:13:45 CEST 2004 - dave@suse.de + +- Added gtk2-cancel-rename.patch, ximian #59669 + +------------------------------------------------------------------- +Fri Aug 27 16:46:00 CEST 2004 - federico@ximian.com + +- Removed stray g_print() from gtk-xpm-secfix.dif; normalized the patch + +------------------------------------------------------------------- +Thu Aug 26 19:14:21 CEST 2004 - federico@ximian.com + +- Updated to gtk+-2.4.9 +- Normalized gtk+-strict-aliasing.patch + +------------------------------------------------------------------- +Tue Aug 24 15:47:07 CEST 2004 - hhetter@suse.de + +- added security patch for XPM decoder (#44100) + CAN-2004-0782, CAN-2004-0783. + +------------------------------------------------------------------- +Wed Aug 4 22:52:45 CEST 2004 - clahey@suse.de + +- Added gtk2-esc-closes.patch from Federico. + +------------------------------------------------------------------- +Fri Jun 4 23:52:22 CEST 2004 - clahey@suse.de + +- Fixed filesel patch to just go directly to Desktop. + +------------------------------------------------------------------- +Tue Apr 27 12:51:22 CEST 2004 - sbrabec@suse.cz + +- Fixed gtk64.patch. + +------------------------------------------------------------------- +Mon Apr 26 17:53:54 CEST 2004 - sbrabec@suse.cz + +- Added empty /opt/gnome/%_lib/gtk-2.0/2.4.0/filesystems to filelist. + +------------------------------------------------------------------- +Wed Apr 21 13:40:39 CEST 2004 - sbrabec@suse.cz + +- Fixed strict aliasing, undefined reference and incompatible type + warnings. + +------------------------------------------------------------------- +Thu Apr 15 18:05:27 CEST 2004 - sbrabec@suse.cz + +- Updated to version 2.4.0 (GNOME 2.6). +- Removed obsolete patches. + +------------------------------------------------------------------- +Thu Apr 01 17:32:11 CEST 2004 - sbrabec@suse.cz + +- Set GTK_PATH to simplify integration of /usr/local binaries. + +------------------------------------------------------------------- +Mon Mar 15 14:39:46 CET 2004 - sbrabec@suse.cz + +- FHS 2.3 fix (mandir, infodir, #35821). + +------------------------------------------------------------------- +Thu Mar 11 13:52:32 CET 2004 - sbrabec@suse.cz + +- Use SuSEconfig biarch wrapper and identical filename for all + platforms. +- Include README.SuSE about biarch problems. + +------------------------------------------------------------------- +Fri Mar 5 10:07:00 CET 2004 - hhetter@suse.de + +- apply reworked patch gtk2-filesel-navbuttons.patch: + Default to ~/Desktop + +------------------------------------------------------------------- +Tue Mar 02 13:46:16 CET 2004 - sbrabec@suse.cz + +- Bi-arch work-arounds to prevent 32/64 bit conflicts (bug #33705). + For more see http://bugzilla.gnome.org/show_bug.cgi?id=129540 + +------------------------------------------------------------------- +Mon Mar 01 14:12:05 CET 2004 - sbrabec@suse.cz + +- Fixed focus loop in gtk_socket_focus() (#33810). + Fixes 100% CPU load problem in Notification Area Applet. + http://bugzilla.gnome.org/show_bug.cgi?id=122327 +- Build with -fno-strict-aliasing. + +------------------------------------------------------------------- +Thu Feb 26 16:42:59 CET 2004 - hhetter@suse.de + +- applied ximian patches + +------------------------------------------------------------------- +Mon Feb 23 18:36:47 CET 2004 - sbrabec@suse.cz + +- Fixed AC_DEFUN underquoting. + +------------------------------------------------------------------- +Sat Jan 10 11:18:14 CET 2004 - adrian@suse.de + +- add %run_ldconfig and %defattr + +------------------------------------------------------------------- +Thu Jan 8 14:53:31 CET 2004 - ro@suse.de + +- fix build with current freetype + +------------------------------------------------------------------- +Wed Nov 5 16:43:59 CET 2003 - hhetter@suse.de + +- added xfree86-devel to Requires for the devel subpackage + +------------------------------------------------------------------- +Fri Oct 10 12:01:04 CEST 2003 - sbrabec@suse.cz + +- Updated to version 2.2.4. + +------------------------------------------------------------------- +Thu Aug 28 15:42:16 CEST 2003 - sbrabec@suse.cz + +- Updated to version 2.2.3. + +------------------------------------------------------------------- +Thu Jul 24 02:17:07 CEST 2003 - hhetter@suse.de + +- fix SuSEconfig.gtk2 query paths + +------------------------------------------------------------------- +Wed Jul 16 16:07:02 CEST 2003 - sbrabec@suse.cz + +- SuSEconfig.gtk2: Fixed paths to query binaries. +- Added empty directory for immodules. + +------------------------------------------------------------------- +Mon Jul 14 19:28:34 CEST 2003 - sbrabec@suse.cz + +- GNOME prefix change to /opt/gnome. + +------------------------------------------------------------------- +Thu Jul 10 16:19:16 CEST 2003 - sbrabec@suse.cz + +- Worked around linking problems on ppc64 (#27837). + +------------------------------------------------------------------- +Tue Jun 24 12:20:28 CEST 2003 - sbrabec@suse.cz + +- Created empty directory for engines and modules. + +------------------------------------------------------------------- +Thu Jun 12 14:51:17 CEST 2003 - sbrabec@suse.cz + +- Updated to version 2.2.2. +- Fixed directory packaging. + +------------------------------------------------------------------- +Wed May 28 12:52:36 CEST 2003 - sbrabec@suse.cz + +- Include manpage to devel package. + +------------------------------------------------------------------- +Wed May 28 01:44:13 CEST 2003 - ro@suse.de + +- remove unpackaged files from buildroot + +------------------------------------------------------------------- +Thu May 22 11:34:09 CEST 2003 - sbrabec@suse.cz + +- Fixed typo in Requires for -devel package (#27025). + +------------------------------------------------------------------- +Wed May 14 11:45:01 CEST 2003 - sbrabec@suse.cz + +- Sync -devel Requires with pkgconfig (bug #26876). + +------------------------------------------------------------------- +Tue Mar 18 15:47:20 CET 2003 - sbrabec@suse.cz + +- Moved devel files to devel package (fixes bug #25163). + +------------------------------------------------------------------- +Wed Mar 12 17:59:50 CET 2003 - sbrabec@suse.cz + +- Added gnome2 profile.d files containing required variables (fixes + theme problems for all session types). + +------------------------------------------------------------------- +Wed Mar 12 17:00:13 CET 2003 - sbrabec@suse.cz + +- Fixed prefix clash for keyboard themes (fixes bug 25086). + +------------------------------------------------------------------- +Mon Feb 10 02:00:53 CET 2003 - ro@suse.de + +- create /etc/gtk-2.0 in SuSEconfig.gtk2 if needed + +------------------------------------------------------------------- +Thu Feb 06 12:24:25 CET 2003 - sbrabec@suse.cz + +- Updated to version 2.2.1. +- Include generated config files to %files (with %ghost). + +------------------------------------------------------------------- +Wed Feb 05 11:11:36 CET 2003 - sbrabec@suse.cz + +- Removed -mminimal-toc from spec file, since it is now RPM default. + +------------------------------------------------------------------- +Tue Jan 14 17:16:53 CET 2003 - sbrabec@suse.cz + +- Update SuSEconfig.gtk2 to create gdk-pixbuf.loaders. + +------------------------------------------------------------------- +Mon Jan 13 17:29:28 CET 2003 - sbrabec@suse.cz + +- Added expat to neededforbuild (for new xft2). + +------------------------------------------------------------------- +Thu Jan 09 18:21:36 CET 2003 - sbrabec@suse.cz + +- Updated to version 2.2.0. +- Updated automake patch. + +------------------------------------------------------------------- +Mon Nov 25 14:20:17 CET 2002 - hhetter@suse.de + +- updated to version 2.0.9 + * Fix colormap refcounting, which caused + frequent metacity crashes + * GtkTreeView bug fixes + - Make TreeView reordering work on FreeBSD/Solaris + * Updated translations (be, ru, nl, fr) + +------------------------------------------------------------------- +Mon Nov 11 09:18:24 CET 2002 - hhetter@suse.de + +- updated to version 2.0.8 + * Typo in io-gif.c that caused GIFs not to be loadable + by gdk-pixbuf. + * Incompatibility between the libtool used for generating + the tarball and older versions of binutils on Linux. + +------------------------------------------------------------------- +Tue Nov 5 11:33:30 CET 2002 - hhetter@suse.de + +- updated to 2.0.7 bugfix release +- removed x86_64 patch as it's upstream, from Changelog: + * Fix some memory leaks in gdk-pixbuf + * Pixbuf loader fixes + * Support depth 8 StaticColor in GdkRGB + * Win32 fixes and improvements + * Improve tracking of toplevel focus state + * XIM input method fixes + * Fix the longstanding problem with <,> keys and XIM + * Fix GtkIMContextSimple for us-intl keyboards + * GtkIMContextSimple updates for Eastern Europe + * Fix the "key bindings randomly stop working" problem + * GtkTextView fixes + * GtkTreeView bugfixes + * GtkCombo fixes + * Fix 64-bit problem with GtkFundamentalType + * New and updated translations + * Many miscellaneous bug fixes + +------------------------------------------------------------------- +Tue Oct 22 13:45:08 CEST 2002 - sbrabec@suse.cz + +- Move /var/adm/SuSEconfig/run-gtk to %post (fixes #20029). + +------------------------------------------------------------------- +Wed Oct 09 17:40:10 CEST 2002 - sbrabec@suse.cz + +- Added support for dead keyed Hungarian characters in iso88592.dif + characters. + +------------------------------------------------------------------- +Tue Oct 01 16:06:53 CEST 2002 - sbrabec@suse.cz + +- Added ISO-8859-2 supporting patch from CVS. + +------------------------------------------------------------------- +Fri Sep 6 10:06:05 CEST 2002 - sf@suse.de + +- added patch to avoid wrong va_arg handling + which leads to almost any GTK-Widget segfaulting + +------------------------------------------------------------------- +Wed Aug 21 18:36:57 CEST 2002 - kukuk@suse.de + +- Fix Requires entry + +------------------------------------------------------------------- +Thu Aug 15 14:28:35 CEST 2002 - hhetter@suse.de + +- branch gtk2-doc package + +------------------------------------------------------------------- +Tue Aug 13 09:38:12 CEST 2002 - hhetter@suse.de + +- added fbmanager and gdktarget build options (#17640) +- devel package requires main package + +------------------------------------------------------------------- +Thu Aug 8 09:50:30 CEST 2002 - hhetter@suse.de + +- use %{version} tag in LIBRARY_PATH +- enable xim and shm + +------------------------------------------------------------------- +Mon Aug 5 11:50:26 CEST 2002 - hhetter@suse.de + +- updated to version 2.0.6 + * GtkTreeView bug fixes + * Fix problem with keynav and insensitive menu items + * Fix pixbuf_from_drawable() for LSB -> MSB + * Use GTK2_RC_FILES envvar instead of GTK_RC_FILES + * Focus check/radio buttons when activating with a mnemonic + * Cycle between multiple menubars with F10, not control-tab + * Misc bug fixes + * Build fixes for cross-compiling and portability + * Updated translations (bg,ca,da,fr,ja,ko,lv,no,pl,ru,sk,sv,vi) + +------------------------------------------------------------------- +Tue Jul 30 13:58:28 CEST 2002 - jordi@suse.de + +- added missing documentation for gtk2-devel + +------------------------------------------------------------------- +Wed Jul 10 10:16:21 CEST 2002 - hhetter@suse.de + +- fix requires of devel package, still pointed to GTK 1.x packages + +------------------------------------------------------------------- +Mon Jun 17 19:15:45 CEST 2002 - jordi@suse.de + +- Updated to version 2.0.5 + * Fix a wrong assertion that broke gtk_file_selection_set_filename(); + also another fix from testing this function with non-UTF-8 filenames. + * Fix incorrect property notification in GtkTextView. + + Overview of Changes in GTK+ 2.0.4 + + * Fix a number of types which were registered with the + type system with the wrong names + * Support missing data types in GtkList/TreeStore + * Misc GtkTreeView bug fixes + * Drag and drop fixes, including a stuck grab. + * Calculate screen size on win32 from the "logical DPI" + * Misc Win32 bug fixes. + * Fix theme changes for GtkMenu + * Fix gdk_pixbuf_from_drawable() for big endian. + * Fix encoding handling for gtk_file_selection_set_filename() + * Fix crash with DND, Qt and Metacity + * Fixes for DirectColor visuals + * Memory leak and UMR fixes + * Misc bug fixes + * Updated translations + + +------------------------------------------------------------------- +Thu Jun 13 01:06:11 CEST 2002 - ro@suse.de + +- use libpng-devel-packages in nededforbuild + +------------------------------------------------------------------- +Mon Jun 10 14:10:34 CEST 2002 - meissner@suse.de + +- Need to use -mminimal-toc for ppc64. + +------------------------------------------------------------------- +Tue Jun 4 09:58:03 CEST 2002 - ro@suse.de + +- re-add libdir fixes + +------------------------------------------------------------------- +Tue Jun 4 09:13:47 CEST 2002 - hhetter@suse.de + +- updated to stable version 2.0.3: + * GtkTreeView fixes + * Improve GdkRGB support for low color depths + * Tweak F10 behavior to focus GtkMenuBar + * Include internal children when focusing + * Allow use of a pixmap as the drawable in gdk_pixmap_new(). + * GdkPixbuf fixes + * GtkMenu fixes. + * Misc input-method related fixes + * Fix stuck grab during DND. + * Remove in-bevel from scrolled-offscreen menus. + * Various plug/socket fixes + * Handle Xlib internal connections + * Many miscellaneous bug fixes. + +------------------------------------------------------------------- +Tue Apr 9 10:15:26 CEST 2002 - hhetter@suse.de + +- update to stable version 2.0.2 + +------------------------------------------------------------------- +Tue Apr 9 08:28:11 CEST 2002 - ro@suse.de + +- build with "atk-1.0" (was "atk") + +------------------------------------------------------------------- +Fri Feb 1 09:03:33 CET 2002 - hhetter@suse.de + +- updated to 1.1.13 [gnome desktop alpha2] +- build with libpng-devel + +------------------------------------------------------------------- +Fri Jan 25 09:50:40 CET 2002 - hhetter@suse.de + +- rename SuSEconfig.gtk to SuSEconfig.gtk2 + +------------------------------------------------------------------- +Thu Jan 17 14:34:42 CET 2002 - hhetter@suse.de + +- new SuSEconfig.gtk script ensures that all input-method modules + are registered + +------------------------------------------------------------------- +Fri Jan 11 11:35:26 CET 2002 - hhetter@suse.de + +- use version tag in patch filename +- updated to version 1.3.12: + * Fix problems with PNG saving + * Cleanups of deprecated usages + * Frame buffer port fixes + * GtkTextView bug fixes + * Menu behavior improvements + * Make focus line width configurable, focus color work on + dark themes. + * Add state argument to gtk_paint_focus() + * Added incremental revalidation to tree view, for better apparent speed + * Remove useless gtk_tree_view_column_cell_event() + * Display XIM status in a separate window + * Add menu of Unicode control characters to GtkEntry, GtkTextView + * Pass key releases along to input methods [Owen] +- specfile cleanup + +------------------------------------------------------------------- +Thu Jan 10 13:53:13 CET 2002 - hhetter@suse.de + +- no longer require glib (1.x) + +------------------------------------------------------------------- +Thu Jan 10 10:51:42 CET 2002 - hhetter@suse.de + +- include gdk-pixbuf's tools +- build with freetype2 support + +------------------------------------------------------------------- +Tue Jan 8 09:45:48 CET 2002 - hhetter@suse.de + +- include links for default library names + +------------------------------------------------------------------- +Wed Dec 12 10:33:02 CET 2001 - hhetter@suse.de + +- initial SuSE release for GNOME 2.0 platform +- added LIBRARY_PATH for broken libtool +- build with automake 1.5 + + diff --git a/gtk2.spec b/gtk2.spec new file mode 100644 index 0000000..6a79187 --- /dev/null +++ b/gtk2.spec @@ -0,0 +1,590 @@ +# +# spec file for package gtk2 +# +# Copyright (c) 2022 SUSE LLC +# +# All modifications and additions to the file contributed by third parties +# remain the property of their copyright owners, unless otherwise agreed +# upon. The license for this file, and modifications and additions to the +# file, is the same license as for the pristine package itself (unless the +# license for the pristine package is not an Open Source License, in which +# case the license is the MIT License). An "Open Source License" is a +# license that conforms to the Open Source Definition (Version 1.9) +# published by the Open Source Initiative. + +# Please submit bugfixes or comments via https://bugs.opensuse.org/ +# + + +# When updating the binary version, do not forget to also update baselibs.conf +%define gtk_binary_version 2.10.0 +%define _name gtk +Name: gtk2 +Version: 2.24.33 +Release: 0 +# FIXME: when updating to next version, check whether we can remove the workaround for bgo#596977 below (removing -fomit-frame-pointer) +Summary: The GTK+ toolkit library (version 2) +License: LGPL-2.1-or-later +Group: System/Libraries +URL: http://www.gtk.org/ +#Source0: http://download.gnome.org/sources/gtk+/2.24/%%{_name}-%%{version}.tar.xz +Source: %{_name}-%{version}.tar.xz +Source2: README.SUSE +Source3: gtkrc +Source4: baselibs.conf +Source5: macros.gtk2 +Source99: gtk2-rpmlintrc +# PATCH-FIX-OPENSUSE gtk2-GTK_PATH64.patch sbrabec@novell.com - 64-bit dual install. Use GTK_PATH64 environment variable instead of GTK_PATH +Patch0: gtk2-GTK_PATH64.patch +# PATCH-FEATURE-UPSTREAM bugzilla-129753-gtk+-2.8.9-localize-font-style-name.diff bnc129753 bgo319484 mfabian@novell.com - Translate the font styles in the GUI +Patch1: bugzilla-129753-gtk+-2.8.9-localize-font-style-name.diff +# PATCH-FIX-UPSTREAM gtk2-bnc130159-bgo319483-async-selection-in-gtk-font-selection.diff bnc130159 bgo319483 federico@novell.com - Load fonts asynchronously in GtkFontSelection to make it appear faster for CJK languages +Patch2: gtk2-bnc130159-bgo319483-async-selection-in-gtk-font-selection.diff +# PATCH-FIX-OPENSUSE gtk-path-local.patch Search in /usr/local/%%{_lib} by default. bnc369696 bgo534474 +Patch3: gtk-path-local.patch +# PATCH-FIX-UPSTREAM gtk2-default-printer.patch bgo#577642 mgorse@suse.com -- Save selected printer as default +Patch4: gtk2-default-printer.patch +# PATCH-FIX-UPSTREAM gtk2-bgo625202-30-bit-drawables-remain-black.patch bgo#625202 ku.b@gmx.de -- 30-bit drawables remain black +Patch5: gtk2-bgo625202-30-bit-drawables-remain-black.patch +# PATCH-FIX-UPSTREAM gtk2-bgo743166-remember-printing-authentication.patch bgo#674264 joschibrauchle@gmx.de -- Credentials from gnome-keyring is not used while printing in GTK 2 +Patch6: gtk2-bgo743166-remember-printing-authentication.patch +# PATCH-FEATURE-OPENSUSE gtk2-updateiconcache_sort.patch olh@opensuse.org -- Have gtp-update-icon-cache sort the file list before producing a cache +Patch8: gtk2-updateiconcache_sort.patch +# PATCH-FIX-UPSTREAM CVE-2024-6655.patch -- CVE-2024-6655 Stop looking for modules in cwd +Patch9: CVE-2024-6655.patch +BuildRequires: cairo-devel +BuildRequires: cups-devel +BuildRequires: fdupes +BuildRequires: gcc-c++ +BuildRequires: gdk-pixbuf-devel +BuildRequires: gnome-patch-translation +BuildRequires: gobject-introspection-devel +BuildRequires: gtk-doc +BuildRequires: libtiff-devel +BuildRequires: pkgconfig(atk) +# Needed for patches touching the build system / bootstrapping +BuildRequires: libtool +BuildRequires: pango-devel +BuildRequires: pkgconfig +BuildRequires: translation-update-upstream +BuildRequires: pkgconfig(fontconfig) +BuildRequires: pkgconfig(x11) +BuildRequires: pkgconfig(xcomposite) +BuildRequires: pkgconfig(xcursor) +BuildRequires: pkgconfig(xdamage) +BuildRequires: pkgconfig(xext) +BuildRequires: pkgconfig(xfixes) +BuildRequires: pkgconfig(xi) +BuildRequires: pkgconfig(xinerama) +BuildRequires: pkgconfig(xrandr) >= 1.2.99 +BuildRequires: pkgconfig(xrender) + +%description +GTK+ is a multi-platform toolkit for creating graphical user interfaces. +Offering a complete set of widgets, GTK+ is suitable for projects +ranging from small one-off projects to complete application suites. + +%package -n libgtk-2_0-0 +Summary: The GTK+ toolkit library (version 2) +# While hicolor is not a Requires strictly speaking, we put it as +# such instead of as a Recommends because many applications just +# assume it's there and we need to have a low-level package to +# bring it in. +Group: System/Libraries +Requires: hicolor-icon-theme +Requires(post): %{name}-tools >= 2.24.20 +# gtk+ can work without branding/data/translations. Built in defaults will be used then. +Recommends: %{name}-branding +Recommends: %{name}-data = %{version} +# it's nice to have input modules for various locales installed by default +Recommends: %{name}-immodule-amharic = %{version} +Recommends: %{name}-immodule-inuktitut = %{version} +Recommends: %{name}-immodule-thai = %{version} +Recommends: %{name}-immodule-tigrigna = %{version} +Recommends: %{name}-immodule-vietnamese = %{version} +Recommends: gvfs +# Provide %%{name} to make the lang and immodules packages installable +Provides: %{name} = %{version} +Obsoletes: %{name} < %{version} +# gail is part of gtk+ as of 2.13.x +Provides: gail = 1.22.1 +Obsoletes: gail < 1.22.1 +# + +%description -n libgtk-2_0-0 +GTK+ is a multi-platform toolkit for creating graphical user interfaces. +Offering a complete set of widgets, GTK+ is suitable for projects +ranging from small one-off projects to complete application suites. + +%package -n typelib-1_0-Gtk-2_0 +Summary: Introspection bindings for the GTK+ toolkit library v2 +Group: System/Libraries + +%description -n typelib-1_0-Gtk-2_0 +GTK+ is a multi-platform toolkit for creating graphical user interfaces. +Offering a complete set of widgets, GTK+ is suitable for projects +ranging from small one-off projects to complete application suites. + +This package provides the GObject Introspection bindings for GTK+. + +%package immodule-amharic +Summary: Amharic input method for the GTK+ toolkit library v2 +Group: System/Libraries +Requires: %{name} = %{version} +Requires(post): %{name}-tools >= 2.24.20 +Requires(postun):%{name}-tools >= 2.24.20 +Provides: locale(%{name}:am) + +%description immodule-amharic +GTK+ is a multi-platform toolkit for creating graphical user interfaces. +Offering a complete set of widgets, GTK+ is suitable for projects +ranging from small one-off projects to complete application suites. + +This package provides an input method for Amharic. + +%package immodule-inuktitut +Summary: Inuktitut input method for the GTK+ toolkit library v2 +Group: System/Libraries +Requires: %{name} = %{version} +Requires(post): %{name}-tools >= 2.24.20 +Requires(postun):%{name}-tools >= 2.24.20 +Provides: locale(%{name}:iu) + +%description immodule-inuktitut +GTK+ is a multi-platform toolkit for creating graphical user interfaces. +Offering a complete set of widgets, GTK+ is suitable for projects +ranging from small one-off projects to complete application suites. + +This package provides an input method for Inuktitut. + +%package immodule-multipress +Summary: Multipress input method for the GTK+ toolkit library v2 +Group: System/Libraries +Requires: %{name} = %{version} +Requires(post): %{name}-tools >= 2.24.20 +Requires(postun):%{name}-tools >= 2.24.20 + +%description immodule-multipress +GTK+ is a multi-platform toolkit for creating graphical user interfaces. +Offering a complete set of widgets, GTK+ is suitable for projects +ranging from small one-off projects to complete application suites. + +This package provides an input method which allows text entry via the +multi-press method, as on a mobile phone. + +%package immodule-thai +Summary: Thai-Lao input method for the GTK+ toolkit library v2 +Group: System/Libraries +Requires: %{name} = %{version} +Requires(post): %{name}-tools >= 2.24.20 +Requires(postun):%{name}-tools >= 2.24.20 +Provides: locale(%{name}:lo) +Provides: locale(%{name}:th) + +%description immodule-thai +GTK+ is a multi-platform toolkit for creating graphical user interfaces. +Offering a complete set of widgets, GTK+ is suitable for projects +ranging from small one-off projects to complete application suites. + +This package provides an input method for Thai-Lao. + +%package immodule-tigrigna +Summary: Tigrigna input methods for the GTK+ toolkit library v2 +Group: System/Libraries +Requires: %{name} = %{version} +Requires(post): %{name}-tools >= 2.24.20 +Requires(postun):%{name}-tools >= 2.24.20 +Provides: %{name}-immodules-tigrigna = %{version} +Provides: locale(%{name}:ti) +Obsoletes: %{name}-immodules-tigrigna < %{version} + +%description immodule-tigrigna +GTK+ is a multi-platform toolkit for creating graphical user interfaces. +Offering a complete set of widgets, GTK+ is suitable for projects +ranging from small one-off projects to complete application suites. + +This package provides two input methods for Tigrigna. + +%package immodule-vietnamese +Summary: Vietnamese input method for the GTK+ toolkit library v2 +Group: System/Libraries +Requires: %{name} = %{version} +Requires(post): %{name}-tools >= 2.24.20 +Requires(postun):%{name}-tools >= 2.24.20 +Provides: locale(%{name}:vi) + +%description immodule-vietnamese +GTK+ is a multi-platform toolkit for creating graphical user interfaces. +Offering a complete set of widgets, GTK+ is suitable for projects +ranging from small one-off projects to complete application suites. + +This package provides an input method for Vietnamese. + +%package immodule-xim +Summary: X input method for the GTK+ toolkit library v2 +Group: System/Libraries +Requires: %{name} = %{version} +Requires(post): %{name}-tools >= 2.24.20 +Requires(postun):%{name}-tools >= 2.24.20 +Provides: locale(%{name}:ja) +Provides: locale(%{name}:ko) +Provides: locale(%{name}:th) +Provides: locale(%{name}:zh) + +%description immodule-xim +GTK+ is a multi-platform toolkit for creating graphical user interfaces. +Offering a complete set of widgets, GTK+ is suitable for projects +ranging from small one-off projects to complete application suites. + +This package provides an input method based on the X Input Method. + +%package tools +Summary: Auxiliary utilities for the GTK+ toolkit library v2 +Group: System/Libraries +Requires(post): update-alternatives +Requires(postun):update-alternatives + +%description tools +GTK+ is a multi-platform toolkit for creating graphical user interfaces. +Offering a complete set of widgets, GTK+ is suitable for projects +ranging from small one-off projects to complete application suites. + +%package data +Summary: Data files for the GTK+ toolkit library v2 +Group: System/Libraries +BuildArch: noarch + +%description data +GTK+ is a multi-platform toolkit for creating graphical user interfaces. +Offering a complete set of widgets, GTK+ is suitable for projects +ranging from small one-off projects to complete application suites. + +%package branding-upstream +Summary: Upstream theme configuration for the GTK+ toolkit library v2 +Group: System/Libraries +Requires: libgtk-2_0-0 = %{version} +Supplements: (%{name} and branding-upstream) +Conflicts: %{name}-branding +Provides: %{name}-branding = %{version} +BuildArch: noarch +#BRAND: Provides /etc/gtk-2.0/gtkrc, to define default theme and icon theme. +#BRAND: Do not forget to add proper Requires in branding package if changing +#BRAND: those. + +%description branding-upstream +GTK+ is a multi-platform toolkit for creating graphical user interfaces. +Offering a complete set of widgets, GTK+ is suitable for projects +ranging from small one-off projects to complete application suites. + +%package devel +Summary: Development files for the GTK+ toolkit library v2 +Group: Development/Libraries/X11 +Requires: libgtk-2_0-0 = %{version} +# gtk-builder-convert needs this. +Requires: python3-xml +Requires: typelib-1_0-Gtk-2_0 = %{version} +# gail is part of gtk+ as of 2.13.x +Provides: gail-devel = 1.22.1 +Obsoletes: gail-devel < 1.22.1 +Provides: gtk2-doc = %{version} +Obsoletes: gtk2-doc < %{version} +# + +%description devel +GTK+ is a multi-platform toolkit for creating graphical user interfaces. +Offering a complete set of widgets, GTK+ is suitable for projects +ranging from small one-off projects to complete application suites. + +This package contains the development files for GTK+ 2.x. + +%lang_package + +%prep +%setup -q -n %{_name}-%{version} + +translation-update-upstream +translation-update-upstream po-properties gtk20-properties +# remove incomplete translations caused by translation-update-upstream (global LINGUAS file, two domains) +for LNG in po/*.po ; do + LNG=`basename ${LNG%%.po}` + if ! test -f po-properties/$LNG.po ; then + echo "Removing incomplete $LNG from LINGUAS." + sed -i "/^$LNG\$/d" po/LINGUAS + fi +done +gnome-patch-translation-prepare +%if "%{_lib}" == "lib64" +cp -a %{SOURCE2} . +# WARNING: This patch does not patch not installed demos and tests. +%patch0 -p1 +%endif + +%patch1 -p1 +%patch2 -p1 +%patch3 +%patch4 -p1 +%patch5 -p1 +%patch6 -p1 +%patch8 -p1 +%patch9 -p1 +sed -i "s|/usr/bin/env python|%{_bindir}/python3|" ./gtk/gtk-builder-convert +gnome-patch-translation-update + +%build +NOCONFIGURE=1 ./autogen.sh +export CFLAGS="%{optflags}" +export CFLAGS="$CFLAGS -fstack-protector" +%ifarch ppc64 +export CFLAGS="$CFLAGS -mminimal-toc" +%endif +# fix crash in gdm, nautilus, etc. (bgo#596977) +export CFLAGS=`echo $CFLAGS | sed -e 's/-fomit-frame-pointer//g'` +%configure \ + --disable-static \ + --enable-man \ + --with-xinput=xfree \ + --enable-introspection \ + --enable-gtk-doc +make %{?_smp_mflags} + +%install +%make_install +find %{buildroot} -type f -name "*.la" -delete -print +%if 0%{?suse_version} <= 1130 +rm %{buildroot}%{_datadir}/locale/kg/LC_MESSAGES/* +%endif +%find_lang gtk20 +%find_lang gtk20-properties +install -m 644 %{SOURCE3} %{buildroot}%{_sysconfdir}/gtk-2.0 +touch %{buildroot}%{_libdir}/gtk-2.0/%{gtk_binary_version}/immodules.cache +%if "%{_lib}" == "lib64" + mv %{buildroot}%{_bindir}/gtk-query-immodules-2.0 %{buildroot}%{_bindir}/gtk-query-immodules-2.0-64 +%endif +# Alternatives for gtk-update-icon-cache (binary and manpage) +mkdir -p %{buildroot}%{_sysconfdir}/alternatives +mv %{buildroot}%{_bindir}/gtk-update-icon-cache %{buildroot}%{_bindir}/gtk-update-icon-cache-2.0 +ln -s -f %{_sysconfdir}/alternatives/gtk-update-icon-cache %{buildroot}%{_bindir}/gtk-update-icon-cache +mv %{buildroot}%{_mandir}/man1/gtk-update-icon-cache.1 %{buildroot}%{_mandir}/man1/gtk-update-icon-cache-2.0.1 +ln -s -f %{_sysconfdir}/alternatives/gtk-update-icon-cache.1%{ext_man} %{buildroot}%{_mandir}/man1/gtk-update-icon-cache.1%{ext_man} +# Install rpm macros +mkdir -p %{buildroot}%{_rpmmacrodir} +cp %{SOURCE5} %{buildroot}%{_rpmmacrodir} +%fdupes %{buildroot}%{_datadir} +%fdupes %{buildroot}%{_libdir} + +########################################################################### +# Note: when updating scriptlets, don't forget to also update baselibs.conf +########################################################################### + +# Convenient %%define for the scriplets +%if "%{_lib}" == "lib64" +%define _gtk_query_immodules %{_bindir}/gtk-query-immodules-2.0-64 +%else +%define _gtk_query_immodules %{_bindir}/gtk-query-immodules-2.0 +%endif +%define _gtk_query_immodules_update_cache %{_gtk_query_immodules} --update-cache + +%post -n libgtk-2_0-0 +/sbin/ldconfig +%if 0 +# In case libgtk-2_0-0 gets installed before gtk2-tools, we don't want to fail. +# So we make the call to gtk-query-immodules-2.0 dependent on the existence of +# the binary. This is why we also have a %%post for gtk2-tools. +%endif +if test -f %{_gtk_query_immodules}; then + %{_gtk_query_immodules_update_cache} +fi + +%post immodule-amharic +%{_gtk_query_immodules_update_cache} + +%post immodule-inuktitut +%{_gtk_query_immodules_update_cache} + +%post immodule-multipress +%{_gtk_query_immodules_update_cache} + +%post immodule-thai +%{_gtk_query_immodules_update_cache} + +%post immodule-tigrigna +%{_gtk_query_immodules_update_cache} + +%post immodule-vietnamese +%{_gtk_query_immodules_update_cache} + +%post immodule-xim +%{_gtk_query_immodules_update_cache} + +%post tools +%if 0 +# If we install gtk2-tools for the first time, then we should run it in case +# libgtk-2_0-0 was installed first (ie, if +# %%{_libdir}/gtk-2.0/%%{gtk_binary_version} already exists) which means +# gtk-query-immodules-2.0 couldn't run there. +%endif +if [ $1 = 1 ]; then + test -d %{_libdir}/gtk-2.0/%{gtk_binary_version} + if test $? -eq 0; then + %{_gtk_query_immodules_update_cache} + fi +fi +%if 0 +# If the gtk-update-icon-cache group is in automatic mode, then this will also +# switch all symlinks automatically +%endif +update-alternatives --install %{_bindir}/gtk-update-icon-cache gtk-update-icon-cache %{_bindir}/gtk-update-icon-cache-2.0 2 \ + --slave %{_mandir}/man1/gtk-update-icon-cache.1.gz gtk-update-icon-cache.1.gz %{_mandir}/man1/gtk-update-icon-cache-2.0.1.gz + +%filetriggerin tools -- %{_datadir}/icons +if [ "$(realpath %{_bindir}/gtk-update-icon-cache)" = "%{_bindir}/gtk-update-icon-cache-2.0" ]; then + for ICON_THEME in $(cut -d / -f 5 | sort -u); do + if [ -f "%{_datadir}/icons/${ICON_THEME}/index.theme" ]; then + %{_bindir}/gtk-update-icon-cache --quiet --force "%{_datadir}/icons/${ICON_THEME}" + fi + done +fi + +%filetriggerpostun tools -- %{_datadir}/icons +if [ "$(realpath %{_bindir}/gtk-update-icon-cache)" = "%{_bindir}/gtk-update-icon-cache-2.0" ]; then + for ICON_THEME in $(cut -d / -f 5 | sort -u); do + if [ -f "%{_datadir}/icons/${ICON_THEME}/index.theme" ]; then + %{_bindir}/gtk-update-icon-cache --quiet --force "%{_datadir}/icons/${ICON_THEME}" + fi + done +fi + +%if 0 +# No need to call gtk-query-immodules-2.0 in postun: +# - if it's an upgrade, it will have been called in post +# - if it's an uninstall, we don't care about this anymore +%endif + +%postun -n libgtk-2_0-0 -p /sbin/ldconfig + +%postun immodule-amharic +%{_gtk_query_immodules_update_cache} + +%postun immodule-inuktitut +%{_gtk_query_immodules_update_cache} + +%postun immodule-multipress +%{_gtk_query_immodules_update_cache} + +%postun immodule-thai +%{_gtk_query_immodules_update_cache} + +%postun immodule-tigrigna +%{_gtk_query_immodules_update_cache} + +%postun immodule-vietnamese +%{_gtk_query_immodules_update_cache} + +%postun immodule-xim +%{_gtk_query_immodules_update_cache} + +%postun tools +%if 0 +# Note: we don't use "$1 -eq 0", to avoid issues if the package gets renamed +%endif +if [ ! -f %{_bindir}/gtk-update-icon-cache-2.0 ]; then + update-alternatives --remove gtk-update-icon-cache %{_bindir}/gtk-update-icon-cache-2.0 +fi + +%files -n libgtk-2_0-0 +%license COPYING +%doc AUTHORS NEWS +%if "%{_lib}" == "lib64" +%doc README.SUSE +%endif +%dir %{_sysconfdir}/gtk-2.0 +%dir %{_libdir}/gtk-2.0 +%dir %{_libdir}/gtk-2.0/%{gtk_binary_version} +%dir %{_libdir}/gtk-2.0/%{gtk_binary_version}/engines +%{_libdir}/gtk-2.0/%{gtk_binary_version}/engines/libpixmap.so +%dir %{_libdir}/gtk-2.0/%{gtk_binary_version}/immodules +%{_libdir}/gtk-2.0/%{gtk_binary_version}/immodules/im-cedilla.so +%{_libdir}/gtk-2.0/%{gtk_binary_version}/immodules/im-cyrillic-translit.so +%{_libdir}/gtk-2.0/%{gtk_binary_version}/immodules/im-ipa.so +%dir %{_libdir}/gtk-2.0/%{gtk_binary_version}/printbackends +%{_libdir}/gtk-2.0/%{gtk_binary_version}/printbackends/libprintbackend-cups.so +%{_libdir}/gtk-2.0/%{gtk_binary_version}/printbackends/libprintbackend-file.so +%{_libdir}/gtk-2.0/%{gtk_binary_version}/printbackends/libprintbackend-lpr.so +%ghost %{_libdir}/gtk-2.0/%{gtk_binary_version}/immodules.cache +%dir %{_libdir}/gtk-2.0/modules +%{_libdir}/gtk-2.0/modules/libgail.so +%{_libdir}/libgailutil.so.* +%{_libdir}/libgdk-x11-2.0.so.* +%{_libdir}/libgtk-x11-2.0.so.* + +%files -n typelib-1_0-Gtk-2_0 +%{_libdir}/girepository-1.0/Gdk-2.0.typelib +%{_libdir}/girepository-1.0/GdkX11-2.0.typelib +%{_libdir}/girepository-1.0/Gtk-2.0.typelib + +%files immodule-amharic +%{_libdir}/gtk-2.0/%{gtk_binary_version}/immodules/im-am-et.so + +%files immodule-inuktitut +%{_libdir}/gtk-2.0/%{gtk_binary_version}/immodules/im-inuktitut.so + +%files immodule-multipress +%{_libdir}/gtk-2.0/%{gtk_binary_version}/immodules/im-multipress.so +%config %{_sysconfdir}/gtk-2.0/im-multipress.conf + +%files immodule-thai +%{_libdir}/gtk-2.0/%{gtk_binary_version}/immodules/im-thai.so + +%files immodule-tigrigna +%{_libdir}/gtk-2.0/%{gtk_binary_version}/immodules/im-ti-er.so +%{_libdir}/gtk-2.0/%{gtk_binary_version}/immodules/im-ti-et.so + +%files immodule-vietnamese +%{_libdir}/gtk-2.0/%{gtk_binary_version}/immodules/im-viqr.so + +%files immodule-xim +%{_libdir}/gtk-2.0/%{gtk_binary_version}/immodules/im-xim.so + +%files tools +%{_bindir}/gtk-query-immodules-2.0* +%{_bindir}/gtk-update-icon-cache-2.0 +%{_bindir}/gtk-update-icon-cache +%ghost %{_sysconfdir}/alternatives/gtk-update-icon-cache +%ghost %{_sysconfdir}/alternatives/gtk-update-icon-cache.1%{?ext_man} +%{_mandir}/man1/gtk-query-immodules-2.0*.1%{?ext_man} +%{_mandir}/man1/gtk-update-icon-cache-2.0.1%{?ext_man} +%{_mandir}/man1/gtk-update-icon-cache.1%{?ext_man} + +%files data +%{_datadir}/themes/Default/ +%{_datadir}/themes/Emacs/ +%{_datadir}/themes/Raleigh/ + +%files branding-upstream +%config %{_sysconfdir}/gtk-2.0/gtkrc + +%files lang -f gtk20.lang -f gtk20-properties.lang + +%files devel +%doc %{_datadir}/gtk-doc/html/gail-libgail-util/ +%doc %{_datadir}/gtk-doc/html/gdk2/ +%doc %{_datadir}/gtk-doc/html/gtk2/ +%{_bindir}/gtk-builder-convert +%{_bindir}/gtk-demo +%{_mandir}/man1/gtk-builder-convert.1* +%{_datadir}/aclocal/gtk-2.0.m4 +%{_datadir}/gir-1.0/*.gir +%dir %{_datadir}/gtk-2.0 +%{_datadir}/gtk-2.0/demo/ +%{_includedir}/gail-1.0/ +%{_includedir}/gtk-2.0/ +%{_includedir}/gtk-unix-print-2.0/ +%{_libdir}/gtk-2.0/include/ +%{_libdir}/gtk-2.0/modules/libferret.so +%{_libdir}/pkgconfig/*.pc +%{_libdir}/libgailutil.so +%{_libdir}/libgdk-x11-2.0.so +%{_libdir}/libgtk-x11-2.0.so +%{_rpmmacrodir}/macros.gtk2 + +%changelog diff --git a/gtkrc b/gtkrc new file mode 100644 index 0000000..db1b918 --- /dev/null +++ b/gtkrc @@ -0,0 +1,11 @@ +# +# gtkrc file allows you to define system wide defaults for all GTK+ applications. +# This file is branding specific. +# +# For complete list of available settings see devhelp documentation in +# gtk2-doc package, section GTK+ Core Reference -> Resource Files +# +# You most probably want: +#gtk-theme-name = "" +#gtk-icon-theme-name = "" +#gtk-fallback-icon-theme = "gnome" diff --git a/macros.gtk2 b/macros.gtk2 new file mode 100644 index 0000000..31b5633 --- /dev/null +++ b/macros.gtk2 @@ -0,0 +1,35 @@ +# RPM macros for packages installing a GTK+ IM module +# +### +# +# When a package installs a GTK+ IM module, it should use all +# three macros: +# +# - %gtk2_immodule_requires in the preamble +# - %gtk2_immodule_post in %post +# - %gtk2_immodule_postun in %postun +# +### + +%gtk2_immodule_requires \ +Requires(post): gtk2-tools >= 2.24.20 \ +Requires(postun): gtk2-tools >= 2.24.20 + +# On install, update the cache +%gtk2_immodule_post \ +%if "%_lib" == "lib64" \ + %{_bindir}/gtk-query-immodules-2.0-64 --update-cache \ +%else \ + %{_bindir}/gtk-query-immodules-2.0 --update-cache \ +%endif + +# On uninstall, update the cache. Note: we ignore upgrades (already +# handled in %post of the new package). +%gtk2_immodule_postun \ +if [ $1 -eq 0 ]; then \ + %if "%_lib" == "lib64" \ + %{_bindir}/gtk-query-immodules-2.0-64 --update-cache \ + %else \ + %{_bindir}/gtk-query-immodules-2.0 --update-cache \ + %endif \ +fi