[gnumeric] Fix data shuffle. [#669184]



commit 425d14386df1499aea57169073399ed46417fb77
Author: Andreas J Guelzow <aguelzow pyrshep ca>
Date:   Thu Feb 2 20:26:28 2012 -0700

    Fix data shuffle. [#669184]
    
    2012-02-02  Andreas J. Guelzow <aguelzow pyrshep ca>
    
    	* data_shuffling_free: free dao correctly
    
    2012-02-02  Andreas J. Guelzow <aguelzow pyrshep ca>
    
    	* dialog-shuffle.c (shuffle_ok_clicked_cb): correctly initialize
    	dao

 NEWS                         |    1 +
 src/dialogs/ChangeLog        |    5 +++++
 src/dialogs/dialog-shuffle.c |    8 ++++++--
 src/tools/ChangeLog          |    4 ++++
 src/tools/data-shuffling.c   |    2 +-
 5 files changed, 17 insertions(+), 3 deletions(-)
---
diff --git a/NEWS b/NEWS
index 39f5de4..344d9c5 100644
--- a/NEWS
+++ b/NEWS
@@ -7,6 +7,7 @@ Andreas:
 	* Fix function tool tip. [#668685]
 	* Import inline text from xlsx files. [#668936]
 	* Fix rich text import from xlsx. [#669083]
+	* Fix data shuffle. [#669184]
 
 Jean:
 	* Fix formula interpretation in plot series (with Morten's help). [#662237]
diff --git a/src/dialogs/ChangeLog b/src/dialogs/ChangeLog
index bc0c047..dbebc41 100644
--- a/src/dialogs/ChangeLog
+++ b/src/dialogs/ChangeLog
@@ -1,3 +1,8 @@
+2012-02-02  Andreas J. Guelzow <aguelzow pyrshep ca>
+
+	* dialog-shuffle.c (shuffle_ok_clicked_cb): correctly initialize 
+	dao
+
 2012-01-28  Morten Welinder  <terra gnome org>
 
 	* dialog-quit.c (show_quit_dialog): Switch to using ui file.  Add
diff --git a/src/dialogs/dialog-shuffle.c b/src/dialogs/dialog-shuffle.c
index be089da..0a6e65e 100644
--- a/src/dialogs/dialog-shuffle.c
+++ b/src/dialogs/dialog-shuffle.c
@@ -98,12 +98,16 @@ shuffle_ok_clicked_cb (G_GNUC_UNUSED GtkWidget *button, ShuffleState *state)
 	GnmValue                *input;
 	int                     type;
 
-	/* This is free'ed by cmd_data_shuffle_finalize. */
-	dao = g_new (data_analysis_output_t, 1);
+	/* This is free'ed by data_shuffling_free. */
+	/* We later want to extend this to shuffle to other locations */
+	dao = dao_init (NULL, InPlaceOutput);
 
 	input = gnm_expr_entry_parse_as_value (
 		GNM_EXPR_ENTRY (state->input_entry), state->sheet);
 
+	if (dao->type == InPlaceOutput)
+		dao_load_from_value (dao, input);
+
 	type = gnm_gui_group_value (state->gui, shuffle_by);
 
 	ds = data_shuffling (WORKBOOK_CONTROL (state->wbcg), dao,
diff --git a/src/tools/ChangeLog b/src/tools/ChangeLog
index c299cba..892242f 100644
--- a/src/tools/ChangeLog
+++ b/src/tools/ChangeLog
@@ -1,3 +1,7 @@
+2012-02-02  Andreas J. Guelzow <aguelzow pyrshep ca>
+
+	* data_shuffling_free: free dao correctly
+
 2011-12-28  Morten Welinder  <terra gnome org>
 
 	* gnm-solver.c (gnm_solver_check_timeout): New function.
diff --git a/src/tools/data-shuffling.c b/src/tools/data-shuffling.c
index 815ea82..80e2dba 100644
--- a/src/tools/data-shuffling.c
+++ b/src/tools/data-shuffling.c
@@ -318,6 +318,6 @@ data_shuffling_redo (data_shuffling_t *st)
 void
 data_shuffling_free (data_shuffling_t *st)
 {
-	g_free (st->dao);
+	dao_free (st->dao);
 	g_slist_free_full (st->changes, g_free);
 }



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]