Submitted By:            BLFS Book <blfs-book@linuxfromscratch.org>
Date:                    2005-01-03
Initial Package Version: 0.40.3
Upstream Status:         Not submitted - package is no longer maintained
Origin:                  GnuCash-1.8.10 sources
Description:             Fixes a problem with reversed legends in stacked 
                         barcharts

$LastChangedBy: bdubbs $
$Date: 2005-08-01 13:29:19 -0600 (Mon, 01 Aug 2005) $

--- Guppi-0.40.3/libguppitank/guppi-object-barchart.c	2003-05-30 21:21:16.000000000 +0200
+++ Guppi-0.40.4/libguppitank/guppi-object-barchart.c	2003-05-30 21:21:26.000000000 +0200
@@ -410,6 +410,7 @@
   GuppiElementState *left_axis_state = NULL;
   GuppiElementState *frame_state = NULL;
   GuppiColorPalette *color_palette = NULL;
+  GuppiColorPalette *color_palette_legend = NULL;
   GuppiDataTable *data_table;
   GnomeFont *font;
   
@@ -446,11 +447,13 @@
   /* FIXME: check for construction of legends. */
 
   if (obar->legend_view && obar->col_labels) {
-    add_col_labels (obar, data_table, obar->data_cols, obar->col_labels, FALSE);
+    add_col_labels (obar, data_table, obar->data_cols, obar->col_labels, 
+		    obar->legend_reversed);
   }
 
   if (obar->col_colors) {
     color_palette = build_bar_colors (obar, FALSE);
+    color_palette_legend = build_bar_colors (obar, obar->legend_reversed);
   }
   
   guppi_element_state_set (barchart_state,
@@ -497,7 +500,7 @@
 
     guppi_element_state_set (legend_state,
 			     "labels", data_table,
-			     "swatch_colors", color_palette,
+			     "swatch_colors", color_palette_legend,
 			     "label_font", font,
 			     NULL);
   }
@@ -505,6 +508,8 @@
  
   /* clean up */
   
+  guppi_unref (color_palette);
+  guppi_unref (color_palette_legend);
   guppi_unref (barchart_state);
   guppi_unref (legend_state);			   
   guppi_unref (bottom_axis_state);
@@ -525,6 +530,7 @@
 
   GuppiDataTable *data_table;
   GuppiColorPalette *color_palette = NULL;
+  GuppiColorPalette *color_palette_legend = NULL;
 
   GuppiElementState *barchart_state;
   GuppiElementState *legend_state = NULL;
@@ -560,7 +566,8 @@
   }
 
   if (obar->col_labels) {
-    add_col_labels (obar, data_table, obar->data_cols, obar->col_labels, FALSE);
+    add_col_labels (obar, data_table, obar->data_cols, obar->col_labels, 
+		    obar->legend_reversed);
   }
 
 
@@ -568,6 +575,7 @@
 
   if (obar->col_colors) {
     color_palette = build_bar_colors (obar, FALSE);
+    color_palette_legend = build_bar_colors (obar, obar->legend_reversed);
   }
 
   barchart_state = guppi_element_state_new ("barchart",
@@ -620,7 +628,8 @@
 
     legend_state = guppi_element_state_new ("legend",
 					    "labels", data_table,
-					    "swatch_colors", color_palette,
+					    "swatch_colors", 
+					    color_palette_legend,
 					    "label_font", font,
 					    NULL);
 
@@ -669,6 +678,8 @@
   /* Clean up after ourselves... */
 
   guppi_unref (data_table);
+  guppi_unref (color_palette);
+  guppi_unref (color_palette_legend);
 
   guppi_unref (barchart_state);
   guppi_unref (bottom_axis_state);
