diff options
author | Gilles Dartiguelongue <eva@gentoo.org> | 2009-08-02 21:21:14 +0000 |
---|---|---|
committer | Gilles Dartiguelongue <eva@gentoo.org> | 2009-08-02 21:21:14 +0000 |
commit | 987044a58c8b8896e22615098cef6814bfbd8ad4 (patch) | |
tree | 83919a736fc639a13499e61434bef118d74541eb /app-office/gnumeric/files | |
parent | Invalid entry. ACKd by Alexis Ballier. (diff) | |
download | gentoo-2-987044a58c8b8896e22615098cef6814bfbd8ad4.tar.gz gentoo-2-987044a58c8b8896e22615098cef6814bfbd8ad4.tar.bz2 gentoo-2-987044a58c8b8896e22615098cef6814bfbd8ad4.zip |
Version bump. Fix gtk+ 2.16 compatibility issues, bug #278502. Remove useless .la files.
(Portage version: 2.2_rc33/cvs/Linux x86_64)
Diffstat (limited to 'app-office/gnumeric/files')
-rw-r--r-- | app-office/gnumeric/files/gnumeric-1.8.4-gtk216-abi-spinbuttons.patch | 291 | ||||
-rw-r--r-- | app-office/gnumeric/files/gnumeric-1.8.4-gtk216-im-block.patch | 241 |
2 files changed, 532 insertions, 0 deletions
diff --git a/app-office/gnumeric/files/gnumeric-1.8.4-gtk216-abi-spinbuttons.patch b/app-office/gnumeric/files/gnumeric-1.8.4-gtk216-abi-spinbuttons.patch new file mode 100644 index 000000000000..282d2c66ac8d --- /dev/null +++ b/app-office/gnumeric/files/gnumeric-1.8.4-gtk216-abi-spinbuttons.patch @@ -0,0 +1,291 @@ +From 75fe906cb0afce76a47338415773a6d4c5f07c5c Mon Sep 17 00:00:00 2001 +From: Morten Welinder <terra@gnome.org> +Date: Thu, 30 Apr 2009 19:04:49 -0400 +Subject: [PATCH 1/1] Work around gtk+ 2.16 ABI break re spinbuttons. + +--- + src/dialogs/anova-one.glade | 3 +-- + src/dialogs/anova-two.glade | 3 +-- + src/dialogs/cell-format.glade | 3 +-- + src/dialogs/col-width.glade | 3 +-- + src/dialogs/descriptive-stats.glade | 3 +-- + src/dialogs/dialog-stf.glade | 6 ++---- + src/dialogs/dialog-zoom.glade | 3 +-- + src/dialogs/print.glade | 9 +++------ + src/dialogs/row-height.glade | 3 +-- + src/dialogs/simulation.glade | 12 ++++-------- + src/dialogs/so-scrollbar.glade | 12 ++++-------- + src/dialogs/solver.glade | 6 ++---- + 12 files changed, 22 insertions(+), 44 deletions(-) + +diff --git a/src/dialogs/anova-one.glade b/src/dialogs/anova-one.glade +index cf95a5b..a822db5 100644 +--- a/src/dialogs/anova-one.glade ++++ b/src/dialogs/anova-one.glade +@@ -318,8 +318,7 @@ + <property name="update_policy">GTK_UPDATE_IF_VALID</property> + <property name="snap_to_ticks">False</property> + <property name="wrap">False</property> +- <property name="adjustment">0.05 0 1 0.01 10 10</property> +- </widget> ++ <property name="adjustment">0.05 0 1 0.01 10 0</property> </widget> + <packing> + <property name="left_attach">1</property> + <property name="right_attach">2</property> +diff --git a/src/dialogs/anova-two.glade b/src/dialogs/anova-two.glade +index 3b101fb..c25e425 100644 +--- a/src/dialogs/anova-two.glade ++++ b/src/dialogs/anova-two.glade +@@ -263,8 +263,7 @@ + <property name="update_policy">GTK_UPDATE_ALWAYS</property> + <property name="snap_to_ticks">False</property> + <property name="wrap">False</property> +- <property name="adjustment">0.05 0 1 0.01 0.05 0.05</property> +- </widget> ++ <property name="adjustment">0.05 0 1 0.01 0.05 0</property> </widget> + <packing> + <property name="left_attach">1</property> + <property name="right_attach">2</property> +diff --git a/src/dialogs/cell-format.glade b/src/dialogs/cell-format.glade +index be30f4f..968754d 100644 +--- a/src/dialogs/cell-format.glade ++++ b/src/dialogs/cell-format.glade +@@ -356,8 +356,7 @@ + <property name="update_policy">GTK_UPDATE_IF_VALID</property> + <property name="snap_to_ticks">False</property> + <property name="wrap">False</property> +- <property name="adjustment">0 0 20 1 10 10</property> +- </widget> ++ <property name="adjustment">0 0 20 1 10 0</property> </widget> + <packing> + <property name="left_attach">1</property> + <property name="right_attach">2</property> +diff --git a/src/dialogs/col-width.glade b/src/dialogs/col-width.glade +index 907a629..f87b21a 100644 +--- a/src/dialogs/col-width.glade ++++ b/src/dialogs/col-width.glade +@@ -148,8 +148,7 @@ + <property name="update_policy">GTK_UPDATE_ALWAYS</property> + <property name="snap_to_ticks">False</property> + <property name="wrap">False</property> +- <property name="adjustment">5 5 1000 1 5 5</property> +- </widget> ++ <property name="adjustment">5 5 1000 1 5 0</property> </widget> + <packing> + <property name="left_attach">1</property> + <property name="right_attach">2</property> +diff --git a/src/dialogs/descriptive-stats.glade b/src/dialogs/descriptive-stats.glade +index 9653553..35bde2c 100644 +--- a/src/dialogs/descriptive-stats.glade ++++ b/src/dialogs/descriptive-stats.glade +@@ -474,8 +474,7 @@ + <property name="update_policy">GTK_UPDATE_ALWAYS</property> + <property name="snap_to_ticks">False</property> + <property name="wrap">False</property> +- <property name="adjustment">0.05 0 1 0.01 10 10</property> +- </widget> ++ <property name="adjustment">0.05 0 1 0.01 10 0</property> </widget> + <packing> + <property name="left_attach">2</property> + <property name="right_attach">3</property> +diff --git a/src/dialogs/dialog-stf.glade b/src/dialogs/dialog-stf.glade +index 0673cdd..77c7acd 100644 +--- a/src/dialogs/dialog-stf.glade ++++ b/src/dialogs/dialog-stf.glade +@@ -515,8 +515,7 @@ + <property name="update_policy">GTK_UPDATE_ALWAYS</property> + <property name="snap_to_ticks">False</property> + <property name="wrap">False</property> +- <property name="adjustment">1 1 100 1 10 10</property> +- </widget> ++ <property name="adjustment">1 1 100 1 10 0</property> </widget> + <packing> + <property name="padding">0</property> + <property name="expand">False</property> +@@ -557,8 +556,7 @@ + <property name="update_policy">GTK_UPDATE_ALWAYS</property> + <property name="snap_to_ticks">False</property> + <property name="wrap">False</property> +- <property name="adjustment">1 1 100 1 10 10</property> +- </widget> ++ <property name="adjustment">1 1 100 1 10 0</property> </widget> + <packing> + <property name="padding">0</property> + <property name="expand">False</property> +diff --git a/src/dialogs/dialog-zoom.glade b/src/dialogs/dialog-zoom.glade +index 30e65cc..3cd716a 100644 +--- a/src/dialogs/dialog-zoom.glade ++++ b/src/dialogs/dialog-zoom.glade +@@ -254,8 +254,7 @@ + <property name="update_policy">GTK_UPDATE_ALWAYS</property> + <property name="snap_to_ticks">False</property> + <property name="wrap">False</property> +- <property name="adjustment">100 10 500 5 25 25</property> +- </widget> ++ <property name="adjustment">100 10 500 5 25 0</property> </widget> + <packing> + <property name="padding">0</property> + <property name="expand">False</property> +diff --git a/src/dialogs/print.glade b/src/dialogs/print.glade +index 196ffd0..f2a1662 100644 +--- a/src/dialogs/print.glade ++++ b/src/dialogs/print.glade +@@ -698,8 +698,7 @@ + <widget class="GtkSpinButton" id="scale-h-spin"> + <property name="visible">True</property> + <property name="can_focus">True</property> +- <property name="adjustment">1 1 100 1 10 10</property> +- <property name="climb_rate">1</property> ++ <property name="adjustment">1 1 100 1 10 0</property> <property name="climb_rate">1</property> + </widget> + <packing> + <property name="left_attach">2</property> +@@ -747,8 +746,7 @@ + <widget class="GtkSpinButton" id="scale-v-spin"> + <property name="visible">True</property> + <property name="can_focus">True</property> +- <property name="adjustment">1 1 100 1 10 10</property> +- <property name="climb_rate">1</property> ++ <property name="adjustment">1 1 100 1 10 0</property> <property name="climb_rate">1</property> + </widget> + <packing> + <property name="left_attach">2</property> +@@ -792,8 +790,7 @@ + <widget class="GtkSpinButton" id="scale-percent-spin"> + <property name="visible">True</property> + <property name="can_focus">True</property> +- <property name="adjustment">10 10 1000 1 10 10</property> +- <property name="climb_rate">1</property> ++ <property name="adjustment">10 10 1000 1 10 0</property> <property name="climb_rate">1</property> + <property name="digits">1</property> + <property name="numeric">True</property> + </widget> +diff --git a/src/dialogs/row-height.glade b/src/dialogs/row-height.glade +index 71e62b0..3004d87 100644 +--- a/src/dialogs/row-height.glade ++++ b/src/dialogs/row-height.glade +@@ -149,8 +149,7 @@ + <property name="update_policy">GTK_UPDATE_ALWAYS</property> + <property name="snap_to_ticks">False</property> + <property name="wrap">False</property> +- <property name="adjustment">5 5 1000 1 5 5</property> +- </widget> ++ <property name="adjustment">5 5 1000 1 5 0</property> </widget> + <packing> + <property name="left_attach">1</property> + <property name="right_attach">2</property> +diff --git a/src/dialogs/simulation.glade b/src/dialogs/simulation.glade +index d084dfc..356c90b 100644 +--- a/src/dialogs/simulation.glade ++++ b/src/dialogs/simulation.glade +@@ -345,8 +345,7 @@ + <property name="update_policy">GTK_UPDATE_ALWAYS</property> + <property name="snap_to_ticks">False</property> + <property name="wrap">False</property> +- <property name="adjustment">10 1 36000 10 10 10</property> +- </widget> ++ <property name="adjustment">10 1 36000 10 10 0</property> </widget> + <packing> + <property name="left_attach">2</property> + <property name="right_attach">3</property> +@@ -366,8 +365,7 @@ + <property name="update_policy">GTK_UPDATE_ALWAYS</property> + <property name="snap_to_ticks">False</property> + <property name="wrap">False</property> +- <property name="adjustment">1000 1 1e+10 1000 10 10</property> +- </widget> ++ <property name="adjustment">1000 1 1e+10 1000 10 0</property> </widget> + <packing> + <property name="left_attach">2</property> + <property name="right_attach">3</property> +@@ -387,8 +385,7 @@ + <property name="update_policy">GTK_UPDATE_ALWAYS</property> + <property name="snap_to_ticks">False</property> + <property name="wrap">False</property> +- <property name="adjustment">1 1 1e+08 1 10 10</property> +- </widget> ++ <property name="adjustment">1 1 1e+08 1 10 0</property> </widget> + <packing> + <property name="left_attach">2</property> + <property name="right_attach">3</property> +@@ -408,8 +405,7 @@ + <property name="update_policy">GTK_UPDATE_ALWAYS</property> + <property name="snap_to_ticks">False</property> + <property name="wrap">False</property> +- <property name="adjustment">1 1 1e+08 1 10 10</property> +- </widget> ++ <property name="adjustment">1 1 1e+08 1 10 0</property> </widget> + <packing> + <property name="left_attach">2</property> + <property name="right_attach">3</property> +diff --git a/src/dialogs/so-scrollbar.glade b/src/dialogs/so-scrollbar.glade +index f4d7de2..8890bbb 100644 +--- a/src/dialogs/so-scrollbar.glade ++++ b/src/dialogs/so-scrollbar.glade +@@ -194,8 +194,7 @@ + <property name="update_policy">GTK_UPDATE_ALWAYS</property> + <property name="snap_to_ticks">False</property> + <property name="wrap">False</property> +- <property name="adjustment">0 0 3001 1 10 1</property> +- <accessibility> ++ <property name="adjustment">0 0 3001 1 10 0</property> <accessibility> + <atkrelation target="label_min" type="labelled-by"/> + </accessibility> + </widget> +@@ -218,8 +217,7 @@ + <property name="update_policy">GTK_UPDATE_ALWAYS</property> + <property name="snap_to_ticks">False</property> + <property name="wrap">False</property> +- <property name="adjustment">0 0 3001 1 10 1</property> +- <accessibility> ++ <property name="adjustment">0 0 3001 1 10 0</property> <accessibility> + <atkrelation target="label_max" type="labelled-by"/> + </accessibility> + </widget> +@@ -242,8 +240,7 @@ + <property name="update_policy">GTK_UPDATE_ALWAYS</property> + <property name="snap_to_ticks">False</property> + <property name="wrap">False</property> +- <property name="adjustment">0 0 3001 1 10 1</property> +- <accessibility> ++ <property name="adjustment">0 0 3001 1 10 0</property> <accessibility> + <atkrelation target="label_increment" type="labelled-by"/> + </accessibility> + </widget> +@@ -266,8 +263,7 @@ + <property name="update_policy">GTK_UPDATE_ALWAYS</property> + <property name="snap_to_ticks">False</property> + <property name="wrap">False</property> +- <property name="adjustment">0 0 3001 1 10 1</property> +- <accessibility> ++ <property name="adjustment">0 0 3001 1 10 0</property> <accessibility> + <atkrelation target="label_page" type="labelled-by"/> + </accessibility> + </widget> +diff --git a/src/dialogs/solver.glade b/src/dialogs/solver.glade +index 66eab7c..b58fdf3 100644 +--- a/src/dialogs/solver.glade ++++ b/src/dialogs/solver.glade +@@ -668,8 +668,7 @@ Bool + <property name="update_policy">GTK_UPDATE_ALWAYS</property> + <property name="snap_to_ticks">False</property> + <property name="wrap">False</property> +- <property name="adjustment">100 1 1e+10 10 10 10</property> +- </widget> ++ <property name="adjustment">100 1 1e+10 10 10 0</property> </widget> + <packing> + <property name="left_attach">1</property> + <property name="right_attach">2</property> +@@ -689,8 +688,7 @@ Bool + <property name="update_policy">GTK_UPDATE_ALWAYS</property> + <property name="snap_to_ticks">False</property> + <property name="wrap">False</property> +- <property name="adjustment">30 1 36000 10 10 10</property> +- </widget> ++ <property name="adjustment">30 1 36000 10 10 0</property> </widget> + <packing> + <property name="left_attach">1</property> + <property name="right_attach">2</property> +-- +1.6.3.3 + diff --git a/app-office/gnumeric/files/gnumeric-1.8.4-gtk216-im-block.patch b/app-office/gnumeric/files/gnumeric-1.8.4-gtk216-im-block.patch new file mode 100644 index 000000000000..5a3b6e48aff5 --- /dev/null +++ b/app-office/gnumeric/files/gnumeric-1.8.4-gtk216-im-block.patch @@ -0,0 +1,241 @@ +From 9932dc2cafe66b752e965175a3cbe9889819feb5 Mon Sep 17 00:00:00 2001 +From: Jody Goldberg <jody@gnome.org> +Date: Sat, 14 Mar 2009 22:21:18 +0000 +Subject: [PATCH 1/1] clear the 'im_block_edit_start' flag. (gnm_pane_unrealize) : set the flag. + +2009-03-13 Jody Goldberg <jody@gnome.org> + + * src/gnm-pane.c (gnm_pane_realize) : clear the 'im_block_edit_start' flag. + (gnm_pane_unrealize) : set the flag. + + * src/application.c (gnm_app_add_extra_ui) : take a group name. + (gnm_app_remove_extra_ui) : patch minor leak. + * src/gnm-plugin.c (plugin_service_ui_activate) : use the supplied + group name rather than a static name that is shared between all + custom ui. + + + +svn path=/branches/gnumeric-1-8/; revision=17206 +--- + src/application.c | 6 +++++- + src/application.h | 4 +++- + src/gnm-pane-impl.h | 7 +++---- + src/gnm-pane.c | 40 ++++++++++++++++++++++++++++------------ + src/gnm-plugin.c | 6 ++++-- + src/wbc-gtk.c | 2 +- + 6 files changed, 44 insertions(+), 21 deletions(-) + +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; +-- +1.6.3.3 + |