rpms/gnumeric/F-11 gnumeric-1.8.4-recent.patch, NONE, 1.1 gnumeric.spec, 1.45, 1.46
Huzaifa Sidhpurwala
huzaifas at fedoraproject.org
Mon Oct 12 07:08:36 UTC 2009
- Previous message (by thread): rpms/iproute/F-12 iproute2-2.6.29-kernel.patch, NONE, 1.1 .cvsignore, 1.29, 1.30 iproute.spec, 1.98, 1.99 iproute2-2.6.29-tc_modules.patch, 1.1, 1.2 man-pages.patch, 1.1, 1.2 sources, 1.29, 1.30 iproute2-2.6.9-kernel.patch, 1.8, NONE
- Next message (by thread): rpms/iproute/F-12 iproute.spec, 1.99, 1.100 iproute-ip-man.patch, 1.8, NONE iproute2-2.6.29-fix_headers_for_gre.patch, 1.2, NONE iproute2-display_ip4ip6tunnels.patch, 1.2, NONE iproute2-missing-arpd-directory.patch, 1.2, NONE
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
Author: huzaifas
Update of /cvs/pkgs/rpms/gnumeric/F-11
In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv26784
Modified Files:
gnumeric.spec
Added Files:
gnumeric-1.8.4-recent.patch
Log Message:
fix rhbz #500890
gnumeric-1.8.4-recent.patch:
application.c | 6 +++++-
application.h | 4 +++-
gnm-pane-impl.h | 7 +++----
gnm-pane.c | 40 ++++++++++++++++++++++++++++------------
gnm-plugin.c | 6 ++++--
wbc-gtk.c | 2 +-
6 files changed, 44 insertions(+), 21 deletions(-)
--- NEW FILE gnumeric-1.8.4-recent.patch ---
>From 9932dc2cafe66b752e965175a3cbe9889819feb5 Mon Sep 17 00:00:00 2001
From: Jody Goldberg <jody at gnome.org>
Date: Sat, 14 Mar 2009 22:21:18 +0000
Subject: clear the 'im_block_edit_start' flag. (gnm_pane_unrealize) : set the flag.
diff --git a/src/application.c b/src/application.c
index fccd626..04a47e7 100644
--- a/src/application.c
+++ b/src/application.c
@@ -815,12 +815,14 @@ gnm_action_free (GnmAction *action)
}
GnmAppExtraUI *
-gnm_app_add_extra_ui (GSList *actions, char *layout,
+gnm_app_add_extra_ui (char const *group_name,
+ GSList *actions, char *layout,
char const *domain,
gpointer user_data)
{
GnmAppExtraUI *extra_ui = g_new0 (GnmAppExtraUI, 1);
extra_uis = g_slist_prepend (extra_uis, extra_ui);
+ extra_ui->group_name = g_strdup (group_name);
extra_ui->actions = actions;
extra_ui->layout = layout;
extra_ui->user_data = user_data;
@@ -832,6 +834,8 @@ void
gnm_app_remove_extra_ui (GnmAppExtraUI *extra_ui)
{
g_signal_emit (G_OBJECT (app), signals [CUSTOM_UI_REMOVED], 0, extra_ui);
+ g_free (extra_ui->group_name);
+ g_free (extra_ui);
}
void
diff --git a/src/application.h b/src/application.h
index 18d8837..ccf7c01 100644
--- a/src/application.h
+++ b/src/application.h
@@ -79,6 +79,7 @@ struct _GnmAction {
GnmActionHandler handler;
};
typedef struct {
+ char const *group_name;
GSList *actions;
char *layout;
char const *domain;
@@ -90,7 +91,8 @@ GnmAction *gnm_action_new (char const *name, char const *label,
GnmActionHandler handler);
void gnm_action_free (GnmAction *action);
-GnmAppExtraUI *gnm_app_add_extra_ui (GSList *actions, char *layout,
+GnmAppExtraUI *gnm_app_add_extra_ui (char const *group_name,
+ GSList *actions, char *layout,
char const *domain,
gpointer user_data);
void gnm_app_remove_extra_ui (GnmAppExtraUI *extra_ui);
diff --git a/src/gnm-pane-impl.h b/src/gnm-pane-impl.h
index 90578b8..a38e2dc 100644
--- a/src/gnm-pane-impl.h
+++ b/src/gnm-pane-impl.h
@@ -30,14 +30,13 @@ struct _GnmPane {
gboolean sliding_adjacent_h, sliding_adjacent_v;
/* IM */
- guint reseting_im :1; /* quick hack to keep gtk_im_context_reset from starting an edit */
+ guint im_block_edit_start :1; /* see gnm_pane_key_press for details */
+ guint im_first_focus :1; /* see gnm_pane_init for details */
guint preedit_length;
GtkIMContext *im_context;
PangoAttrList *preedit_attrs;
- gboolean insert_decimal;
-
-
+ gboolean insert_decimal;
int index;
struct {
diff --git a/src/gnm-pane.c b/src/gnm-pane.c
index 68be0d4..58f1579 100644
--- a/src/gnm-pane.c
+++ b/src/gnm-pane.c
@@ -587,11 +587,15 @@ gnm_pane_key_press (GtkWidget *widget, GdkEventKey *event)
event->keyval == GDK_KP_Decimal ||
event->keyval == GDK_KP_Separator;
- if (gtk_im_context_filter_keypress (pane->im_context,event))
+ if (gtk_im_context_filter_keypress (pane->im_context, event))
return TRUE;
- pane->reseting_im = TRUE;
+
+ /* in gtk-2.8 something changed. gtk_im_context_reset started
+ * triggering a pre-edit-changed. We'd end up start and finishing an
+ * empty edit every time the cursor moved */
+ pane->im_block_edit_start = TRUE;
gtk_im_context_reset (pane->im_context);
- pane->reseting_im = FALSE;
+ pane->im_block_edit_start = FALSE;
if (gnm_pane_key_mode_sheet (pane, event, allow_rangesel))
return TRUE;
@@ -628,7 +632,17 @@ static gint
gnm_pane_focus_in (GtkWidget *widget, GdkEventFocus *event)
{
#ifndef GNM_USE_HILDON
+ /* The first call to focus-in was sometimes the first thing to init the
+ * imcontext. In which case the im_context_focus_in would fire a
+ * preedit-changed, and we would start editing. */
+ GnmPane *pane = GNM_PANE (widget);
+ if (pane->im_first_focus)
+ pane->im_block_edit_start = TRUE;
gtk_im_context_focus_in (GNM_PANE (widget)->im_context);
+ if (pane->im_first_focus) {
+ pane->im_first_focus = FALSE;
+ pane->im_block_edit_start = FALSE;
+ }
#endif
return (*GTK_WIDGET_CLASS (parent_klass)->focus_in_event) (widget, event);
}
@@ -645,6 +659,8 @@ gnm_pane_realize (GtkWidget *w)
{
GtkStyle *style;
+ GNM_PANE (w)->im_block_edit_start = FALSE;
+
if (GTK_WIDGET_CLASS (parent_klass)->realize)
(*GTK_WIDGET_CLASS (parent_klass)->realize) (w);
@@ -667,8 +683,10 @@ gnm_pane_unrealize (GtkWidget *widget)
pane = GNM_PANE (widget);
g_return_if_fail (pane != NULL);
- if (pane->im_context)
+ if (pane->im_context) {
+ pane->im_block_edit_start = TRUE;
gtk_im_context_set_client_window (pane->im_context, NULL);
+ }
(*GTK_WIDGET_CLASS (parent_klass)->unrealize)(widget);
}
@@ -733,10 +751,7 @@ cb_gnm_pane_preedit_changed (GtkIMContext *context, GnmPane *pane)
pango_attr_list_unref (pane->preedit_attrs);
gtk_im_context_get_preedit_string (pane->im_context, &preedit_string, &pane->preedit_attrs, &cursor_pos);
- /* in gtk-2.8 something changed. gtk_im_context_reset started
- * triggering a pre-edit-changed. We'd end up start and finishing an
- * empty edit every time the cursor moved */
- if (!pane->reseting_im &&
+ if (!pane->im_block_edit_start &&
!wbcg_is_editing (wbcg) && !wbcg_edit_start (wbcg, TRUE, TRUE)) {
gtk_im_context_reset (pane->im_context);
pane->preedit_length = 0;
@@ -911,8 +926,9 @@ gnm_pane_init (GnmPane *pane)
pane->im_context = gtk_im_multicontext_new ();
pane->preedit_length = 0;
- pane->preedit_attrs = NULL;
- pane->reseting_im = FALSE;
+ pane->preedit_attrs = NULL;
+ pane->im_block_edit_start = FALSE;
+ pane->im_first_focus = TRUE;
GTK_WIDGET_SET_FLAGS (canvas, GTK_CAN_FOCUS);
GTK_WIDGET_SET_FLAGS (canvas, GTK_CAN_DEFAULT);
@@ -2062,9 +2078,9 @@ gnm_pane_size_guide_start (GnmPane *pane, gboolean vert, int colrow, int width)
"width-pixels", 1,
NULL);
else {
- static char const dat [] = { 0x22, 0x88, 0x22, 0x88, 0x22, 0x88, 0x22, 0x88 };
+ static unsigned char const dat [] = { 0x22, 0x88, 0x22, 0x88, 0x22, 0x88, 0x22, 0x88 };
GdkBitmap *stipple = gdk_bitmap_create_from_data (
- GTK_WIDGET (pane)->window, dat, 8, 8);
+ GTK_WIDGET (pane)->window, (const gchar *)dat, 8, 8);
foo_canvas_item_set (pane->size_guide.guide, "fill-stipple", stipple, NULL);
g_object_unref (stipple);
}
diff --git a/src/gnm-plugin.c b/src/gnm-plugin.c
index d546a39..dd659bd 100644
--- a/src/gnm-plugin.c
+++ b/src/gnm-plugin.c
@@ -363,7 +363,7 @@ plugin_service_ui_activate (GOPluginService *service, ErrorInfo **ret_error)
PluginServiceUI *service_ui = GNM_PLUGIN_SERVICE_UI (service);
GError *err = NULL;
char *full_file_name;
- char *xml_ui;
+ char *xml_ui, *group_name;
char const *textdomain;
GO_INIT_RET_ERROR_INFO (ret_error);
@@ -380,9 +380,11 @@ plugin_service_ui_activate (GOPluginService *service, ErrorInfo **ret_error)
g_free (full_file_name);
textdomain = go_plugin_get_textdomain (service->plugin);
- service_ui->layout_id = gnm_app_add_extra_ui (
+ group_name = g_strconcat (go_plugin_get_id (service->plugin), service->id, NULL);
+ service_ui->layout_id = gnm_app_add_extra_ui (group_name,
service_ui->actions,
xml_ui, textdomain, service);
+ g_free (group_name);
service->is_active = TRUE;
}
diff --git a/src/wbc-gtk.c b/src/wbc-gtk.c
index 6a7db0c..d687aa8 100644
--- a/src/wbc-gtk.c
+++ b/src/wbc-gtk.c
@@ -3010,7 +3010,7 @@ cb_add_custom_ui (G_GNUC_UNUSED GnmApp *app,
GtkAction *res;
details = g_new0 (CustomUIHandle, 1);
- details->actions = gtk_action_group_new ("DummyName");
+ details->actions = gtk_action_group_new (extra_ui->group_name);
for (ptr = extra_ui->actions; ptr != NULL ; ptr = ptr->next) {
action = ptr->data;
Index: gnumeric.spec
===================================================================
RCS file: /cvs/pkgs/rpms/gnumeric/F-11/gnumeric.spec,v
retrieving revision 1.45
retrieving revision 1.46
diff -u -p -r1.45 -r1.46
--- gnumeric.spec 13 Apr 2009 09:46:18 -0000 1.45
+++ gnumeric.spec 12 Oct 2009 07:08:35 -0000 1.46
@@ -1,7 +1,7 @@
Name: gnumeric
Epoch: 1
Version: 1.8.4
-Release: 2%{?dist}
+Release: 3%{?dist}
Summary: Spreadsheet program for GNOME
Group: Applications/Productivity
# bug filed upstream about this being GPL v2 only:
@@ -12,6 +12,7 @@ Source: ftp://ftp.gnome.org/pu
Patch0: gnumeric-1.8.4-desktop.patch
Patch1: gnumeric-1.8.1-gnomedb-vercheck.patch
Patch2: gnumeric-1.8.2-python.patch
+Patch3: gnumeric-1.8.4-recent.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-root
BuildRequires: libgnomeui-devel >= 2.4.0
BuildRequires: libgnomeprintui22-devel >= 2.8.2
@@ -63,7 +64,7 @@ This package contains the following addi
%patch0 -p1 -b .desktop
%patch1 -p1
%patch2 -p1 -b .new
-
+%patch3 -p1
chmod -x plugins/excel/rc4.?
@@ -191,6 +192,9 @@ fi
%changelog
+* Mon Oct 12 2009 Huzaifa Sidhpurwala <huzaifas at redhat.com> 1:1.8.4-3
+- Resolve rhbz #500890
+
* Mon Apr 13 2009 Huzaifa Sidhpurwala <huzaifas at redhat.com> 1:1.8.4-2
- Resolved rhbz #495314
- Previous message (by thread): rpms/iproute/F-12 iproute2-2.6.29-kernel.patch, NONE, 1.1 .cvsignore, 1.29, 1.30 iproute.spec, 1.98, 1.99 iproute2-2.6.29-tc_modules.patch, 1.1, 1.2 man-pages.patch, 1.1, 1.2 sources, 1.29, 1.30 iproute2-2.6.9-kernel.patch, 1.8, NONE
- Next message (by thread): rpms/iproute/F-12 iproute.spec, 1.99, 1.100 iproute-ip-man.patch, 1.8, NONE iproute2-2.6.29-fix_headers_for_gre.patch, 1.2, NONE iproute2-display_ip4ip6tunnels.patch, 1.2, NONE iproute2-missing-arpd-directory.patch, 1.2, NONE
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
More information about the fedora-extras-commits
mailing list