rpms/gtkhtml3/devel gtkhtml-3.23.4-dictionaries-on-demand.patch, NONE, 1.1 gtkhtml3.spec, 1.124, 1.125
Matthew Barnes (mbarnes)
fedora-extras-commits at redhat.com
Thu Jul 10 13:26:41 UTC 2008
- Previous message: rpms/emelfm2/F-9 .cvsignore, 1.16, 1.17 emelfm2.spec, 1.29, 1.30 sources, 1.16, 1.17 emelfm2-0.4-hal_flags.patch, 1.1, NONE
- Next message: rpms/bluez-utils/devel bluez-utils.spec,1.109,1.110
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
Author: mbarnes
Update of /cvs/pkgs/rpms/gtkhtml3/devel
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv13796
Modified Files:
gtkhtml3.spec
Added Files:
gtkhtml-3.23.4-dictionaries-on-demand.patch
Log Message:
* Thu Jul 10 2008 Matthew Barnes <mbarnes at redhat.com> - 3.23.4-2.fc10
- Add patch for GNOME bug #538703 (load dictionaries on-demand).
gtkhtml-3.23.4-dictionaries-on-demand.patch:
--- NEW FILE gtkhtml-3.23.4-dictionaries-on-demand.patch ---
diff -up gtkhtml-3.23.4/components/editor/gtkhtml-spell-checker.c.dictionaries-on-demand gtkhtml-3.23.4/components/editor/gtkhtml-spell-checker.c
--- gtkhtml-3.23.4/components/editor/gtkhtml-spell-checker.c.dictionaries-on-demand 2008-06-15 23:19:52.000000000 -0400
+++ gtkhtml-3.23.4/components/editor/gtkhtml-spell-checker.c 2008-07-10 09:17:53.000000000 -0400
@@ -80,6 +80,37 @@ spell_checker_is_digit (const gchar *tex
return TRUE;
}
+static EnchantDict *
+spell_checker_request_dict (GtkhtmlSpellChecker *checker)
+{
+ GtkhtmlSpellCheckerPrivate *priv;
+ const gchar *code;
+
+ /* Loading a dictionary is time-consuming, so delay it until we
+ * really need it. The assumption being that the dictionary
+ * for a particular GtkhtmlSpellChecker instance will only
+ * occasionally be needed. That way we can create as many
+ * instances as we want without a huge performance penalty. */
+
+ priv = checker->priv;
+
+ if (priv->dict != NULL)
+ return priv->dict;
+
+ if (priv->language == NULL)
+ return NULL;
+
+ code = gtkhtml_spell_language_get_code (priv->language);
+ priv->dict = enchant_broker_request_dict (priv->broker, code);
+
+ if (priv->dict == NULL) {
+ priv->language = NULL;
+ g_warning ("Cannot load the dictionary for %s", code);
+ }
+
+ return priv->dict;
+}
+
static GObject *
spell_checker_constructor (GType type,
guint n_construct_properties,
@@ -266,7 +297,7 @@ gtkhtml_spell_checker_check_word (Gtkhtm
g_return_val_if_fail (GTKHTML_IS_SPELL_CHECKER (checker), FALSE);
g_return_val_if_fail (word != NULL, FALSE);
- if ((dict = checker->priv->dict) == NULL)
+ if ((dict = spell_checker_request_dict (checker)) == NULL)
return FALSE;
if (length < 0)
@@ -297,7 +328,7 @@ gtkhtml_spell_checker_get_suggestions (G
g_return_val_if_fail (GTKHTML_IS_SPELL_CHECKER (checker), NULL);
- if ((dict = checker->priv->dict) == NULL)
+ if ((dict = spell_checker_request_dict (checker)) == NULL)
return NULL;
suggestions = enchant_dict_suggest (
@@ -322,7 +353,7 @@ gtkhtml_spell_checker_store_replacement
g_return_if_fail (GTKHTML_IS_SPELL_CHECKER (checker));
- if ((dict = checker->priv->dict) != NULL)
+ if ((dict = spell_checker_request_dict (checker)) == NULL)
return;
enchant_dict_store_replacement (
@@ -338,7 +369,7 @@ gtkhtml_spell_checker_add_word (GtkhtmlS
g_return_if_fail (GTKHTML_IS_SPELL_CHECKER (checker));
- if ((dict = checker->priv->dict) == NULL)
+ if ((dict = spell_checker_request_dict (checker)) == NULL)
return;
enchant_dict_add_to_pwl (dict, word, length);
@@ -354,7 +385,7 @@ gtkhtml_spell_checker_add_word_to_sessio
g_return_if_fail (GTKHTML_IS_SPELL_CHECKER (checker));
- if ((dict = checker->priv->dict) == NULL)
+ if ((dict = spell_checker_request_dict (checker)) == NULL)
return;
enchant_dict_add_to_session (dict, word, length);
@@ -378,18 +409,6 @@ gtkhtml_spell_checker_clear_session (Gtk
if (priv->language == NULL)
priv->language = gtkhtml_spell_language_lookup (NULL);
- if (priv->language != NULL) {
- const gchar *code;
-
- code = gtkhtml_spell_language_get_code (priv->language);
- priv->dict = enchant_broker_request_dict (priv->broker, code);
- }
-
- if (priv->dict == NULL) {
- priv->language = NULL;
- g_warning ("Cannot load the dictionary");
- }
-
g_signal_emit (G_OBJECT (checker), signals[SESSION_CLEARED], 0);
}
Index: gtkhtml3.spec
===================================================================
RCS file: /cvs/pkgs/rpms/gtkhtml3/devel/gtkhtml3.spec,v
retrieving revision 1.124
retrieving revision 1.125
diff -u -r1.124 -r1.125
--- gtkhtml3.spec 16 Jun 2008 17:41:46 -0000 1.124
+++ gtkhtml3.spec 10 Jul 2008 13:25:43 -0000 1.125
@@ -10,7 +10,7 @@
Name: gtkhtml3
Version: 3.23.4
-Release: 1%{?dist}
+Release: 2%{?dist}
License: LGPL/GPL
Group: System Environment/Libraries
Summary: gtkhtml library
@@ -22,6 +22,9 @@
# Remove gnome-common macros from configure.in.
Patch1: gtkhtml-3.13.1-no-gnome-common.patch
+# GNOME bug #538703
+Patch2: gtkhtml-3.23.4-dictionaries-on-demand.patch
+
### Dependencies ###
Requires: gnome-icon-theme >= %{gnome_icon_theme_version}
@@ -59,6 +62,7 @@
%prep
%setup -q -n gtkhtml-%{version}
%patch1 -p1 -b .no-gnome-common
+%patch2 -p1 -b .dictionaries-on-demand
%build
@@ -122,6 +126,9 @@
%{_libdir}/pkgconfig/*.pc
%changelog
+* Thu Jul 10 2008 Matthew Barnes <mbarnes at redhat.com> - 3.23.4-2.fc10
+- Add patch for GNOME bug #538703 (load dictionaries on-demand).
+
* Mon Jun 16 2008 Matthew Barnes <mbarnes at redhat.com> - 3.23.4-1.fc10
- Update to 3.23.4
- Previous message: rpms/emelfm2/F-9 .cvsignore, 1.16, 1.17 emelfm2.spec, 1.29, 1.30 sources, 1.16, 1.17 emelfm2-0.4-hal_flags.patch, 1.1, NONE
- Next message: rpms/bluez-utils/devel bluez-utils.spec,1.109,1.110
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
More information about the scm-commits
mailing list