Accepting request 398288 from GNOME:Factory

Version bump

OBS-URL: https://build.opensuse.org/request/show/398288
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/gtk3?expand=0&rev=95
This commit is contained in:
Dominique Leuenberger 2016-05-29 01:06:50 +00:00 committed by Git OBS Bridge
commit 2a883e0944
5 changed files with 21 additions and 290 deletions

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:e7e3aaf54a54dd1c1ca0588939254abe31329e0bcd280a12290d5306b41ea03f
size 17195152

3
gtk+-3.20.6.tar.xz Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:3f8016563a96b1cfef4ac9e795647f6316deb2978ff939b19e4e4f8f936fa4b2
size 17190912

View File

@ -1,281 +0,0 @@
Index: gtk+-3.5.2/gtk/deprecated/gtkfontsel.c
===================================================================
--- gtk+-3.5.2.orig/gtk/deprecated/gtkfontsel.c
+++ gtk+-3.5.2/gtk/deprecated/gtkfontsel.c
@@ -136,6 +136,8 @@ struct _GtkFontSelectionDialogPrivate
#define FONT_STYLE_LIST_WIDTH 170
#define FONT_SIZE_LIST_WIDTH 60
+#define DELAY_REAL_SELECTION_MS 75
+
/* These are what we use as the standard font sizes, for the size list.
*/
static const guint16 font_sizes[] = {
@@ -626,10 +628,23 @@ static void
gtk_font_selection_finalize (GObject *object)
{
GtkFontSelection *fontsel = GTK_FONT_SELECTION (object);
+ guint selection_timeout;
gtk_font_selection_ref_family (fontsel, NULL);
gtk_font_selection_ref_face (fontsel, NULL);
+ 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);
+
G_OBJECT_CLASS (gtk_font_selection_parent_class)->finalize (object);
}
@@ -666,6 +681,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);
@@ -673,6 +691,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);
}
}
@@ -752,21 +773,26 @@ 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)
{
GtkFontSelection *fontsel;
GtkFontSelectionPrivate *priv;
+ GtkTreeSelection *selection;
GtkTreeModel *model;
GtkTreeIter iter;
#ifdef INCLUDE_FONT_ENTRIES
const gchar *family_name;
#endif
+ if (!g_object_get_data (G_OBJECT (data), "immediate-selection"))
+ GDK_THREADS_ENTER ();
+
fontsel = GTK_FONT_SELECTION (data);
priv = fontsel->priv;
+ selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (priv->family_list));
+
if (gtk_tree_selection_get_selected (selection, &model, &iter))
{
PangoFontFamily *family;
@@ -787,6 +813,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 (DELAY_REAL_SELECTION_MS, gtk_font_selection_real_select_font, data);
+ g_object_set_data (G_OBJECT (fontsel), "font-selection-timeout", GUINT_TO_POINTER (selection_timeout));
+ }
}
static int
@@ -992,14 +1052,22 @@ 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);
+ GtkFontSelectionPrivate *priv;
+ GtkTreeSelection *selection;
GtkTreeModel *model;
GtkTreeIter iter;
+ if (!g_object_get_data (G_OBJECT (data), "immediate-selection"))
+ GDK_THREADS_ENTER ();
+
+ priv = fontsel->priv;
+
+ selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (priv->face_list));
+
if (gtk_tree_selection_get_selected (selection, &model, &iter))
{
PangoFontFace *face;
@@ -1011,6 +1079,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 (DELAY_REAL_SELECTION_MS, gtk_font_selection_real_select_style, data);
+ g_object_set_data (G_OBJECT (fontsel), "style-selection-timeout", GUINT_TO_POINTER (selection_timeout));
+ }
}
static void
@@ -1144,20 +1246,62 @@ 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)
{
GtkFontSelection *fontsel = GTK_FONT_SELECTION (data);
+ GtkFontSelectionPrivate *priv;
+ GtkTreeSelection *selection;
GtkTreeModel *model;
GtkTreeIter iter;
gint new_size;
+ if (!g_object_get_data (G_OBJECT (data), "immediate-selection"))
+ GDK_THREADS_ENTER ();
+
+ priv = fontsel->priv;
+
+ selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (priv->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 (DELAY_REAL_SELECTION_MS, gtk_font_selection_real_select_size, data);
+ g_object_set_data (G_OBJECT (fontsel), "size-selection-timeout", GUINT_TO_POINTER (selection_timeout));
+ }
}
static void
@@ -1475,6 +1619,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
@@ -1525,6 +1672,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;
}

View File

@ -1,3 +1,20 @@
-------------------------------------------------------------------
Mon May 23 15:05:32 UTC 2016 - zaitor@opensuse.org
- Update to version 3.20.6:
+ Bugs fixed: bgo#766694, bgo#766323, bgo#766336, bgo#766737.
- Drop gtk3-bnc130159-bgo319483-async-font-selection.patch: It's
been disabled since version 3.16.2 and upstream closed the bug as
obsolete back in 2011.
-------------------------------------------------------------------
Thu May 19 17:14:02 UTC 2016 - zaitor@opensuse.org
- Update to version 3.20.5:
+ Bugs fixed: bgo#763852, bgo#765973, bgo#766175, bgo#766233,
bgo#766440, bgo#766442.
+ Updated translations.
------------------------------------------------------------------- -------------------------------------------------------------------
Fri May 13 08:29:24 UTC 2016 - dimstar@opensuse.org Fri May 13 08:29:24 UTC 2016 - dimstar@opensuse.org

View File

@ -29,7 +29,7 @@
Name: gtk3 Name: gtk3
%define _name gtk+ %define _name gtk+
Version: 3.20.4 Version: 3.20.6
Release: 0 Release: 0
Summary: The GTK+ toolkit library (version 3) Summary: The GTK+ toolkit library (version 3)
License: LGPL-2.1+ License: LGPL-2.1+
@ -44,9 +44,6 @@ Source99: baselibs.conf
Patch0: gtk3-GTK_PATH64.patch Patch0: gtk3-GTK_PATH64.patch
# PATCH-FIX-OPENSUSE gtk3-path-local.patch Search in /usr/local/%{_lib} by default. bnc369696 bgo534474 # PATCH-FIX-OPENSUSE gtk3-path-local.patch Search in /usr/local/%{_lib} by default. bnc369696 bgo534474
Patch1: gtk3-path-local.patch Patch1: gtk3-path-local.patch
## PATCH-DISABLED gtk3-bnc130159-bgo319483-async-font-selection.patch - Upstream bug was closed as obsolete in 2011, lets see if anyone complains.
# PATCH-FIX-UPSTREAM gtk3-bnc130159-bgo319483-async-font-selection.patch bnc130159 bgo319483 federico@novell.com - Load fonts asynchronously in GtkFontSelection to make it appear faster for CJK languages
Patch3: gtk3-bnc130159-bgo319483-async-font-selection.patch
BuildRequires: cups-devel >= 1.2 BuildRequires: cups-devel >= 1.2
BuildRequires: docbook-xsl-stylesheets BuildRequires: docbook-xsl-stylesheets
BuildRequires: fdupes BuildRequires: fdupes
@ -337,8 +334,6 @@ cp -a %{S:1} .
%patch0 -p1 %patch0 -p1
%endif %endif
%patch1 -p0 %patch1 -p0
## PATCH-DISABLED - Upstream bug was closed as obsolete in 2011, as there was a new fontchooser, lets disable the patch and see if anyone complains.
#%%patch3 -p1
%build %build
# Needed for patch1 # Needed for patch1