OBS User unknown 2008-07-24 20:44:01 +00:00 committed by Git OBS Bridge
parent 325acb38fe
commit 116491a880
6 changed files with 122 additions and 271 deletions

View File

@ -1,119 +0,0 @@
--- gtk/gtkfontsel.c
+++ gtk/gtkfontsel.c
@@ -595,9 +595,15 @@
if (gtk_widget_has_screen (GTK_WIDGET (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);
+
+ /* Enable selection timeout */
+ g_object_set_data (G_OBJECT (fontsel), "immediate-selection", GUINT_TO_POINTER (0));
}
}
@@ -712,15 +718,24 @@
{
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);
- 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));
+ 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
@@ -965,15 +980,24 @@
{
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);
- 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));
+ 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
@@ -1142,15 +1166,24 @@
{
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);
- 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));
+ 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
@@ -1334,6 +1367,9 @@
if (!new_family)
return FALSE;
+ /* Disable selection timeout */
+ g_object_set_data (G_OBJECT (fontsel), "immediate-selection", GUINT_TO_POINTER (1));
+
fontsel->family = new_family;
set_cursor_to_iter (GTK_TREE_VIEW (fontsel->family_list), &iter);
gtk_font_selection_show_available_styles (fontsel);
@@ -1383,6 +1419,9 @@
pango_font_description_free (new_desc);
+ /* Enable selection timeout */
+ g_object_set_data (G_OBJECT (fontsel), "immediate-selection", GUINT_TO_POINTER (0));
+
return TRUE;
}

View File

@ -1,9 +1,8 @@
Patch updated on 17 May 2006 with this changelog:
================================================================================
--- gtk/gtkfontsel.c
+++ gtk/gtkfontsel.c
@@ -563,11 +563,24 @@
diff --git a/gtk/gtkfontsel.c b/gtk/gtkfontsel.c
index 317e336..bce5280 100644
--- a/gtk/gtkfontsel.c
+++ b/gtk/gtkfontsel.c
@@ -549,11 +549,24 @@ static void
gtk_font_selection_finalize (GObject *object)
{
GtkFontSelection *fontsel;
@ -28,7 +27,23 @@ Patch updated on 17 May 2006 with this changelog:
if (fontsel->font)
gdk_font_unref (fontsel->font);
@@ -646,10 +659,10 @@
@@ -568,9 +581,15 @@ gtk_font_selection_screen_changed (GtkWidget *widget,
if (gtk_widget_has_screen (GTK_WIDGET (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);
+
+ /* Enable selection timeout */
+ g_object_set_data (G_OBJECT (fontsel), "immediate-selection", GUINT_TO_POINTER (0));
}
}
@@ -632,10 +651,10 @@ gtk_font_selection_scroll_on_map (GtkWidget *widget,
}
/* This is called when a family is selected in the list. */
@ -42,7 +57,7 @@ Patch updated on 17 May 2006 with this changelog:
GtkFontSelection *fontsel;
GtkTreeModel *model;
GtkTreeIter iter;
@@ -657,7 +670,11 @@
@@ -643,7 +662,11 @@ gtk_font_selection_select_font (GtkTreeSelection *selection,
const gchar *family_name;
#endif
@ -54,7 +69,7 @@ Patch updated on 17 May 2006 with this changelog:
if (gtk_tree_selection_get_selected (selection, &model, &iter))
{
@@ -679,6 +696,31 @@
@@ -665,6 +688,40 @@ gtk_font_selection_select_font (GtkTreeSelection *selection,
g_object_unref (family);
}
@ -74,19 +89,28 @@ Patch updated on 17 May 2006 with this changelog:
+{
+ 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);
+
+ 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));
+ 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
@@ -881,14 +923,20 @@
@@ -867,14 +924,20 @@ gtk_font_selection_select_best_style (GtkFontSelection *fontsel,
/* This is called when a style is selected in the list. */
@ -111,7 +135,7 @@ Patch updated on 17 May 2006 with this changelog:
if (gtk_tree_selection_get_selected (selection, &model, &iter))
{
PangoFontFace *face;
@@ -901,6 +949,31 @@
@@ -887,6 +950,40 @@ gtk_font_selection_select_style (GtkTreeSelection *selection,
gtk_font_selection_show_available_sizes (fontsel, FALSE);
gtk_font_selection_select_best_size (fontsel);
@ -131,19 +155,28 @@ Patch updated on 17 May 2006 with this changelog:
+{
+ 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);
+
+ 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));
+ 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
@@ -1033,22 +1106,51 @@
@@ -1019,22 +1116,60 @@ gtk_font_selection_size_focus_out (GtkWidget *w,
}
/* This is called when a size is selected in the list. */
@ -187,15 +220,44 @@ Patch updated on 17 May 2006 with this changelog:
+{
+ 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);
+
+ 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));
+ 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
@@ -1218,6 +1353,9 @@ gtk_font_selection_set_font_name (GtkFontSelection *fontsel,
if (!new_family)
return FALSE;
+ /* Disable selection timeout */
+ g_object_set_data (G_OBJECT (fontsel), "immediate-selection", GUINT_TO_POINTER (1));
+
fontsel->family = new_family;
set_cursor_to_iter (GTK_TREE_VIEW (fontsel->family_list), &iter);
gtk_font_selection_show_available_styles (fontsel);
@@ -1267,6 +1405,9 @@ gtk_font_selection_set_font_name (GtkFontSelection *fontsel,
pango_font_description_free (new_desc);
+ /* Enable selection timeout */
+ g_object_set_data (G_OBJECT (fontsel), "immediate-selection", GUINT_TO_POINTER (0));
+
return TRUE;
}

View File

@ -1,64 +0,0 @@
? gtk2-gtkicontheme-autoupdate.patch
================================================================================
--- gtk/gtkicontheme.c
+++ gtk/gtkicontheme.c
@@ -230,6 +230,9 @@
static GHashTable *icon_theme_builtin_icons;
+static int update_themes_callback_id;
+static GSList *update_themes_list;
+
/* also used in gtkiconfactory.c */
GtkIconCache *_builtin_cache = NULL;
static GList *builtin_dirs = NULL;
@@ -255,6 +258,23 @@
return g_object_new (GTK_TYPE_ICON_THEME, NULL);
}
+static gboolean
+update_themes_callback (gpointer user_data)
+{
+ GSList *iterator;
+ for (iterator = update_themes_list; iterator; iterator = iterator->next)
+ {
+ GtkIconTheme *icon_theme = iterator->data;
+ GtkIconThemePrivate *priv = icon_theme->priv;
+
+ if (priv->themes_valid)
+ {
+ gtk_icon_theme_rescan_if_needed (icon_theme);
+ }
+ }
+ return TRUE;
+}
+
/**
* gtk_icon_theme_get_default:
*
@@ -569,6 +589,11 @@
priv->unthemed_icons = NULL;
priv->pixbuf_supports_svg = pixbuf_supports_svg ();
+
+ update_themes_list = g_slist_prepend (update_themes_list, icon_theme);
+ if (update_themes_callback_id == 0) {
+ update_themes_callback_id = g_timeout_add (30 * 1000, update_themes_callback, NULL);
+ }
}
static void
@@ -652,6 +677,13 @@
icon_theme = GTK_ICON_THEME (object);
priv = icon_theme->priv;
+ update_themes_list = g_slist_remove (update_themes_list, icon_theme);
+ if (update_themes_list == NULL)
+ {
+ g_source_remove (update_themes_callback_id);
+ update_themes_callback_id = 0;
+ }
+
if (priv->reset_styles_idle)
{
g_source_remove (priv->reset_styles_idle);

View File

@ -1,3 +1,18 @@
-------------------------------------------------------------------
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

View File

@ -28,26 +28,35 @@ Group: System/Libraries
AutoReqProv: on
PreReq: /usr/bin/touch /bin/rm /bin/rmdir
Version: 2.13.3
Release: 5
Release: 11
Summary: Library for Creation of Graphical User Interfaces (version 2)
Source: ftp://ftp.gnome.org/pub/GNOME/sources/%{_name}/2.12/%{_name}-%{version}.tar.bz2
Source1: SuSEconfig.gtk2
Source2: README.SuSE
Source3: gtkrc
# PATCH-FIX-UPSTREAM gtk+-strict-aliasing.patch federico@novell.com - Fix compiler warnings. This is already in SVN trunk as of 2008/07/18
Patch: gtk+-strict-aliasing.patch
# PATCH-FIX-UPSTREAM gtk-warn.patch federico@novell.com - Fix missing include. This is already in SVN trunk as of 2008/07/18
Patch2: gtk-warn.patch
# PATCH-FEATURE-OPENSUSE gtk2-filesel-navbuttons.patch federico@novell.com - Prettify the obsolete GtkFileSelection (this is an old Ximian patch)
Patch4: gtk2-filesel-navbuttons.patch
# PATCH-FEATURE-OPENSUSE gtk+-mac_ctree.patch federico@novell.com - Make the obsolete GtkCTree widget prettier (this is an old Ximian patch)
Patch6: gtk+-mac_ctree.patch
# PATCH-FIX-OPENSUSE gtk64.patch sbrabec@novell.com - 64-bit dual install. See also the Fedora patch for a simpler way of doing this.
Patch8: gtk64.patch
# PATCH-FIX-OPENSUSE gdk-modules-information.diff hhetter@suse.de - Info on how to manually regenerate modules information
Patch12: gdk-modules-information.diff
Patch14: gtktextview.c.diff
Patch15: gtk2-gtkicontheme-autoupdate.patch
# PATCH-FIX-OPENSUSE gtk2-remove-empty-cache.patch sbrabec@novell.com - The behavior upstream as of 2008/07/18 is now to remove the old icon cache if updating it would cause it to be empty. When we update to the newest tarball, be sure to remove the "--remove-empty-cache" flag from SuSEconfig.gtk2, and remove this patch.
Patch17: gtk2-remove-empty-cache.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
Patch22: bugzilla-129753-gtk+-2.8.9-localize-font-style-name.diff
# PATCH-FIX-OPENSUSE bugzilla-131498-allow-xim-for-all-languages.patch bnc131498 mfabian@novell.com - Allow all languages to be run with the X Input Method
Patch23: bugzilla-131498-allow-xim-for-all-languages.patch
Patch24: gtk+-2.8.6-fontsel.patch
Patch31: gtk+-2.8.6-fontsel-fix.patch
# 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
Patch24: gtk2-bnc130159-bgo319483-async-selection-in-gtk-font-selection.diff
# PATCH-FIX-OPENSUSE gtk2-set-invisible-char-to-circle.patch bnc160688 federico@novell.com - Use a bullet instead of an asterisk in invisible GtkEntries (Fedora has a similar patch)
Patch32: gtk2-set-invisible-char-to-circle.patch
# PATCH-FIX-UPSTREAM gtk2-flash-player-busyloop.patch bnc294385 bgo463773 federico@novell.com - Workaround for a bug in the non-free Flash player
Patch35: gtk2-flash-player-busyloop.patch
# PATCH-FIX-UPSTREAM gtk2-libtool.patch schwab@suse.de -- apparently configure.in is invoking libtool in a bad way
Patch36: gtk2-libtool.patch
@ -272,13 +281,10 @@ cp -a %{S:2} .
%patch8 -p1
%endif
%patch12 -p1
%patch14 -p0
%patch15 -p0
%patch17 -p0
%patch22 -p1
%patch23 -p1
%patch24
%patch31
%patch24 -p1
%patch32 -p1
%patch35
%patch36
@ -419,6 +425,18 @@ fi
%{_datadir}/gtk-doc/html/*
%changelog
* Mon Jul 21 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 2008 maw@suse.de
- Move gtk-builder-convert to the -devel subpackage
- So that gtk-builder-convert can actually run, make the -devel

View File

@ -1,61 +0,0 @@
Index: gtk/gtktextview.c
===================================================================
--- gtk/gtktextview.c.orig
+++ gtk/gtktextview.c
@@ -6043,29 +6043,6 @@ gtk_text_view_ensure_layout (GtkTextView
G_CALLBACK (gtk_text_view_child_allocated),
text_view);
- if (get_buffer (text_view))
- gtk_text_layout_set_buffer (text_view->layout, get_buffer (text_view));
-
- if ((GTK_WIDGET_HAS_FOCUS (text_view) && text_view->cursor_visible))
- gtk_text_view_pend_cursor_blink (text_view);
- else
- gtk_text_layout_set_cursor_visible (text_view->layout, FALSE);
-
- gtk_text_layout_set_overwrite_mode (text_view->layout,
- text_view->overwrite_mode && text_view->editable);
-
- ltr_context = gtk_widget_create_pango_context (GTK_WIDGET (text_view));
- pango_context_set_base_dir (ltr_context, PANGO_DIRECTION_LTR);
- rtl_context = gtk_widget_create_pango_context (GTK_WIDGET (text_view));
- pango_context_set_base_dir (rtl_context, PANGO_DIRECTION_RTL);
-
- gtk_text_layout_set_contexts (text_view->layout, ltr_context, rtl_context);
-
- g_object_unref (ltr_context);
- g_object_unref (rtl_context);
-
- gtk_text_view_check_keymap_direction (text_view);
-
style = gtk_text_attributes_new ();
gtk_widget_ensure_style (widget);
@@ -6088,6 +6065,26 @@ gtk_text_view_ensure_layout (GtkTextView
gtk_text_attributes_unref (style);
+ if (get_buffer (text_view))
+ gtk_text_layout_set_buffer (text_view->layout, get_buffer (text_view));
+
+ if ((GTK_WIDGET_HAS_FOCUS (text_view) && text_view->cursor_visible))
+ gtk_text_view_pend_cursor_blink (text_view);
+ else
+ gtk_text_layout_set_cursor_visible (text_view->layout, FALSE);
+
+ ltr_context = gtk_widget_create_pango_context (GTK_WIDGET (text_view));
+ pango_context_set_base_dir (ltr_context, PANGO_DIRECTION_LTR);
+ rtl_context = gtk_widget_create_pango_context (GTK_WIDGET (text_view));
+ pango_context_set_base_dir (rtl_context, PANGO_DIRECTION_RTL);
+
+ gtk_text_layout_set_contexts (text_view->layout, ltr_context, rtl_context);
+
+ g_object_unref (ltr_context);
+ g_object_unref (rtl_context);
+
+ gtk_text_view_check_keymap_direction (text_view);
+
/* Set layout for all anchored children */
tmp_list = text_view->children;