[gnumeric] make sure we only have one sheet object guru active
- From: Andreas J. Guelzow <guelzow src gnome org>
- To: svn-commits-list gnome org
- Cc:
- Subject: [gnumeric] make sure we only have one sheet object guru active
- Date: Mon, 28 Dec 2009 00:06:45 +0000 (UTC)
commit 87f8de0660e7df23f257e0ade0bef8c9c83ed35b
Author: Andreas J. Guelzow <aguelzow pyrshep ca>
Date: Sun Dec 27 17:05:55 2009 -0700
make sure we only have one sheet object guru active
2009-12-27 Andreas J. Guelzow <aguelzow pyrshep ca>
* src/sheet-object.c (cb_so_size_position): make sure we only have one
guru active
(sheet_object_get_editor): ditto
ChangeLog | 6 ++++++
src/sheet-object.c | 26 ++++++++++++++++++++++++--
2 files changed, 30 insertions(+), 2 deletions(-)
---
diff --git a/ChangeLog b/ChangeLog
index fee4f18..709b5b2 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,11 @@
2009-12-27 Andreas J. Guelzow <aguelzow pyrshep ca>
+ * src/sheet-object.c (cb_so_size_position): make sure we only have one
+ guru active
+ (sheet_object_get_editor): ditto
+
+2009-12-27 Andreas J. Guelzow <aguelzow pyrshep ca>
+
* component/Gnumeric-embed.xml.in: add EditSelectObject menu item
* src/GNOME_Gnumeric-gtk.xml.in: ditto
* src/HILDON_Gnumeric-gtk.xml.in: ditto
diff --git a/src/sheet-object.c b/src/sheet-object.c
index 1723854..4b9304c 100644
--- a/src/sheet-object.c
+++ b/src/sheet-object.c
@@ -66,8 +66,19 @@ static GQuark sov_container_quark;
static void
cb_so_size_position (SheetObject *so, SheetControl *sc)
{
- g_return_if_fail (IS_SHEET_CONTROL_GUI (sc));
- dialog_so_size (((SheetControlGUI *)sc)->wbcg, G_OBJECT (so));
+ WBCGtk *wbcg;
+
+ g_return_if_fail (IS_SHEET_CONTROL_GUI (sc));
+
+ wbcg = scg_wbcg ((SheetControlGUI *)sc);
+
+ if (wbcg->edit_line.guru != NULL) {
+ GtkWidget *w = wbcg->edit_line.guru;
+ wbc_gtk_detach_guru (wbcg);
+ gtk_widget_destroy (w);
+ }
+
+ dialog_so_size (wbcg, G_OBJECT (so));
}
static void
@@ -111,8 +122,19 @@ cb_so_delete (SheetObject *so, SheetControl *sc)
void
sheet_object_get_editor (SheetObject *so, SheetControl *sc)
{
+ WBCGtk *wbcg;
+
g_return_if_fail (IS_SHEET_OBJECT (so));
g_return_if_fail (SO_CLASS (so));
+ g_return_if_fail (IS_SHEET_CONTROL_GUI (sc));
+
+ wbcg = scg_wbcg ((SheetControlGUI *)sc);
+
+ if (wbcg->edit_line.guru != NULL) {
+ GtkWidget *w = wbcg->edit_line.guru;
+ wbc_gtk_detach_guru (wbcg);
+ gtk_widget_destroy (w);
+ }
if (SO_CLASS(so)->user_config)
SO_CLASS(so)->user_config (so, sc);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]