[gnumeric] fix editing of styles for conditional formatting



commit 34c5844121388681a4f474e5ec79a19703c8035a
Author: Andreas J Guelzow <aguelzow pyrshep ca>
Date:   Mon Jul 11 13:21:01 2011 -0600

    fix editing of styles for conditional formatting
    
     2011-07-11 Andreas J. Guelzow <aguelzow pyrshep ca>
    
    	* dialog-cell-format.c (cb_fmt_dialog_dialog_buttons): in the case
    	of style editing we need the complete style.

 src/dialogs/ChangeLog            |    7 ++++++-
 src/dialogs/dialog-cell-format.c |    5 ++++-
 2 files changed, 10 insertions(+), 2 deletions(-)
---
diff --git a/src/dialogs/ChangeLog b/src/dialogs/ChangeLog
index b1fa07d..74aa993 100644
--- a/src/dialogs/ChangeLog
+++ b/src/dialogs/ChangeLog
@@ -1,8 +1,13 @@
 2011-07-11 Andreas J. Guelzow <aguelzow pyrshep ca>
 
+	* dialog-cell-format.c (cb_fmt_dialog_dialog_buttons): in the case
+	of style editing we need the complete style.
+
+2011-07-11 Andreas J. Guelzow <aguelzow pyrshep ca>
+
 	* dialogs.h (dialog_preferences): change the type of the last argument
 	and change all callers
-	* dialog-preferences.c (dialog_pref_select_page_search): use the name 
+	* dialog-preferences.c (dialog_pref_select_page_search): use the name
 	rather than the position
 	(dialog_pref_select_page): ditto
 
diff --git a/src/dialogs/dialog-cell-format.c b/src/dialogs/dialog-cell-format.c
index 1678d99..5f93f35 100644
--- a/src/dialogs/dialog-cell-format.c
+++ b/src/dialogs/dialog-cell-format.c
@@ -2020,6 +2020,7 @@ cb_fmt_dialog_dialog_buttons (GtkWidget *btn, FormatState *state)
 
 
 		if (state->style_selector.is_selector) {
+			GnmStyle *style = gnm_style_dup (state->style);
 			for (i = GNM_STYLE_BORDER_TOP; i <= GNM_STYLE_BORDER_DIAG; i++) {
 				GnmBorder *b = border_get_mstyle (state, i);
 				if (b)
@@ -2029,9 +2030,11 @@ cb_fmt_dialog_dialog_buttons (GtkWidget *btn, FormatState *state)
 						 (int)(i - GNM_STYLE_BORDER_TOP),
 						 b);
 			}
+			gnm_style_merge (style, state->result);
 			dialog_cell_format_style_added 
 				(state->style_selector.closure,
-				 state->result);
+				 style);
+			gnm_style_unref (state->result);
 		} else {
 			GnmBorder *borders[GNM_STYLE_BORDER_EDGE_MAX];
 			for (i = GNM_STYLE_BORDER_TOP; i < GNM_STYLE_BORDER_EDGE_MAX; i++)



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