? .deps
? .libs
? Makefile
? Makefile.in
? blah
? clearlooks_draw.lo
? clearlooks_rc_style.lo
? clearlooks_style.lo
? clearlooks_theme_main.lo
? libclearlooks.la
? support.lo
Index: clearlooks_draw.c
===================================================================
RCS file: /cvsroot/clearlooks/clearlooks/src/clearlooks_draw.c,v
retrieving revision 1.25
diff -u -r1.25 clearlooks_draw.c
--- clearlooks_draw.c	20 Mar 2005 12:57:21 -0000	1.25
+++ clearlooks_draw.c	20 Mar 2005 18:00:19 -0000
@@ -99,13 +99,13 @@
 	}
 	else if (r->gradient_type == CL_GRADIENT_HORIZONTAL && (border == CL_BORDER_TOP || border == CL_BORDER_BOTTOM))
 	{
-		draw_vgradient (window, r->bordergc, style->colormap,
+		draw_vgradient (window, r->bordergc, style,
 		                x1, y1, x2-x1+1, 1,
 		                r->border_gradient.from, r->border_gradient.to);
 	}
 	else if (r->gradient_type == CL_GRADIENT_VERTICAL && (border == CL_BORDER_LEFT || border == CL_BORDER_RIGHT))
 	{
-		draw_hgradient (window, r->bordergc, style->colormap,
+		draw_hgradient (window, r->bordergc, style,
 		                x1, y1, 1, y2-y1+1,
 		                r->border_gradient.from, r->border_gradient.to);
 	}
@@ -229,13 +229,13 @@
 	}
 	else if (r->gradient_type == CL_GRADIENT_HORIZONTAL)
 	{
-		draw_vgradient (window, r->fillgc, gtk_widget_get_colormap(widget),
+		draw_vgradient (window, r->fillgc, gtk_widget_get_style(widget),
 		                x+1, y+1, width-2, height-2,
 		                r->fill_gradient.from, r->fill_gradient.to);
 	}
 	else if (r->gradient_type == CL_GRADIENT_VERTICAL)
 	{
-		draw_hgradient (window, r->fillgc, gtk_widget_get_colormap(widget),
+		draw_hgradient (window, r->fillgc, gtk_widget_get_style(widget),
 		                x+1, y+1, width-2, height-2,
 		                r->fill_gradient.from, r->fill_gradient.to);
 	}
@@ -502,10 +502,10 @@
 	shade (&clearlooks_style->spot2, &tmp_color, 0.90);
 	
 	if (is_horizontal)
-		draw_hgradient (tmp, style->black_gc, style->colormap, 0, 0, width, height,
+		draw_hgradient (tmp, style->black_gc, style, 0, 0, width, height,
 	    	            &clearlooks_style->spot2, &tmp_color );
 	else
-		draw_vgradient (tmp, style->black_gc, style->colormap, 0, 0, width, height,
+		draw_vgradient (tmp, style->black_gc, style, 0, 0, width, height,
 	    	            &tmp_color, &clearlooks_style->spot2); /* TODO: swap for RTL */
 	                
 	if (orientation == GTK_PROGRESS_RIGHT_TO_LEFT || 
Index: clearlooks_style.c
===================================================================
RCS file: /cvsroot/clearlooks/clearlooks/src/clearlooks_style.c,v
retrieving revision 1.76
diff -u -r1.76 clearlooks_style.c
--- clearlooks_style.c	20 Mar 2005 14:32:16 -0000	1.76
+++ clearlooks_style.c	20 Mar 2005 18:00:21 -0000
@@ -293,7 +293,7 @@
 		if (area)
 			gdk_gc_set_clip_rectangle (gc, area);
 		
-		draw_hgradient (window, gc, style->colormap,
+		draw_hgradient (window, gc, style,
 				x, y, width, height, &upper_color, lower_color);
 
 		if (area)
Index: support.c
===================================================================
RCS file: /cvsroot/clearlooks/clearlooks/src/support.c,v
retrieving revision 1.8
diff -u -r1.8 support.c
--- support.c	18 Mar 2005 18:29:28 -0000	1.8
+++ support.c	20 Mar 2005 18:00:21 -0000
@@ -1,6 +1,6 @@
 #include "support.h"
 
-#define ALWAYS_DITHER_GRADIENTS
+/* #define ALWAYS_DITHER_GRADIENTS */
 
 GtkTextDirection
 get_direction (GtkWidget *widget)
@@ -764,7 +764,7 @@
 }
 
 void
-draw_vgradient (GdkDrawable *drawable, GdkGC *gc, GdkColormap *colormap,
+draw_vgradient (GdkDrawable *drawable, GdkGC *gc, GtkStyle *style,
                 int x, int y, int width, int height,
                 GdkColor *left_color, GdkColor *right_color)
 {
@@ -809,7 +809,7 @@
 		if (left_color == right_color )
 		{
 			col = *left_color;
-			gdk_rgb_find_color (colormap, &col);
+			gdk_rgb_find_color (style->colormap, &col);
 			gdk_gc_set_foreground (gc, &col);
 			gdk_draw_rectangle (drawable, gc, TRUE, x, y, width, height);
 			gdk_gc_set_foreground (gc, &old_values.foreground);
@@ -823,7 +823,7 @@
 
 		for (i = 0; i < width; i++)
 		{
-			gdk_rgb_find_color (colormap, &col);
+			gdk_rgb_find_color (style->colormap, &col);
 	
 			gdk_gc_set_foreground (gc, &col);
 			gdk_draw_line (drawable, gc, x + i, y, x + i, y + height - 1);
@@ -839,7 +839,7 @@
 }
 
 void
-draw_hgradient (GdkDrawable *drawable, GdkGC *gc, GdkColormap *colormap,
+draw_hgradient (GdkDrawable *drawable, GdkGC *gc, GtkStyle *style,
                 int x, int y, int width, int height,
                 GdkColor *top_color, GdkColor *bottom_color)
 {	
@@ -875,6 +875,16 @@
 	
 		gdk_gc_get_values (gc, &old_values);
 
+                if (top_color == bottom_color )
+                {
+                        col = *top_color;
+                        gdk_rgb_find_color (style->colormap, &col);
+                        gdk_gc_set_foreground (gc, &col);
+                        gdk_draw_rectangle (drawable, gc, TRUE, x, y, width, height);
+                        gdk_gc_set_foreground (gc, &old_values.foreground);
+                        return;
+                }
+
 		col = *top_color;
 		dr = (bottom_color->red - top_color->red) / height;
 		dg = (bottom_color->green - top_color->green) / height;
@@ -882,7 +892,7 @@
 	
 		for (i = 0; i < height; i++)
 		{
-			gdk_rgb_find_color (colormap, &col);
+			gdk_rgb_find_color (style->colormap, &col);
 	
 			gdk_gc_set_foreground (gc, &col);
 			gdk_draw_line (drawable, gc, x, y + i, x + width - 1, y + i);
Index: support.h
===================================================================
RCS file: /cvsroot/clearlooks/clearlooks/src/support.h,v
retrieving revision 1.4
diff -u -r1.4 support.h
--- support.h	6 Mar 2005 22:59:39 -0000	1.4
+++ support.h	20 Mar 2005 18:00:21 -0000
@@ -47,12 +47,12 @@
 shade (GdkColor * a, GdkColor * b, float k);
 
 void
-draw_hgradient (GdkDrawable *drawable, GdkGC *gc, GdkColormap *colormap,
+draw_hgradient (GdkDrawable *drawable, GdkGC *gc, GtkStyle *style,
                 int x, int y, int width, int height,
                 GdkColor *top_color, GdkColor *bottom_color);
 
 void
-draw_vgradient (GdkDrawable *drawable, GdkGC *gc, GdkColormap *colormap,
+draw_vgradient (GdkDrawable *drawable, GdkGC *gc, GtkStyle *style,
                 int x, int y, int width, int height,
                 GdkColor *left_color, GdkColor *right_color);
 
