# HG changeset patch
# User Justin Rodriguez <ffdragon@soc.pidgin.im>
# Date 1220058622 0
# Node ID 5da76be14fdd7a2c104bd502884d20d722c09261
# Parent  25af9b1994c8491f229dd1fa3e36c218c00b508f
Fixes a bug in the blist theme where a line appears only under the expander

diff -r 25af9b1994c8 -r 5da76be14fdd pidgin/gtkblist.c
--- a/pidgin/gtkblist.c	Thu Aug 28 13:25:32 2008 +0000
+++ b/pidgin/gtkblist.c	Sat Aug 30 01:10:22 2008 +0000
@@ -6023,9 +6023,6 @@
 			bgcolor = pidgin_blist_theme_get_collapsed_background_color(theme);
 		else bgcolor = pidgin_blist_theme_get_expanded_background_color(theme);
 
-		if (bgcolor == NULL)
-			bgcolor = &(gtkblist->treeview->style->bg[GTK_STATE_ACTIVE]);
-
 		path = gtk_tree_model_get_path(GTK_TREE_MODEL(gtkblist->treemodel), &iter);
 		expanded = gtk_tree_view_row_expanded(GTK_TREE_VIEW(gtkblist->treeview), path);
 		gtk_tree_path_free(path);
diff -r 25af9b1994c8 -r 5da76be14fdd pidgin/gtkcellrendererexpander.c
--- a/pidgin/gtkcellrendererexpander.c	Thu Aug 28 13:25:32 2008 +0000
+++ b/pidgin/gtkcellrendererexpander.c	Sat Aug 30 01:10:22 2008 +0000
@@ -228,7 +228,7 @@
 }
 
 
-static void pidgin_cell_renderer_expander_render (GtkCellRenderer *cell,
+static void pidgin_cell_renderer_expander_render(GtkCellRenderer *cell,
 					       GdkWindow       *window,
 					       GtkWidget       *widget,
 					       GdkRectangle    *background_area,
@@ -237,7 +237,7 @@
 					       guint            flags)
 {
 	PidginCellRendererExpander *cellexpander = (PidginCellRendererExpander *) cell;
-	
+	gboolean set;
 	gint width, height;
 	GtkStateType state;
 
@@ -270,7 +270,10 @@
 			    cell_area->x + cell->xpad + (width / 2),
 			    cell_area->y + cell->ypad + (height / 2),
 			    cell->is_expanded ? GTK_EXPANDER_EXPANDED : GTK_EXPANDER_COLLAPSED);
-	if (cell->is_expanded)
+
+	/* only draw the line if the color isn't set - this prevents a bug where the hline appears only under the expander */
+	g_object_get(cellexpander, "cell-background-set", &set, NULL);
+	if (cell->is_expanded && !set)
 		gtk_paint_hline (widget->style, window, state, NULL, widget, NULL, 0, 
 				 widget->allocation.width, cell_area->y + cell_area->height);
 }