summaryrefslogtreecommitdiff
path: root/gtk/gtkcellview.c
diff options
context:
space:
mode:
authorMatthias Clasen <mclasen@redhat.com>2004-04-14 20:26:26 +0000
committerMatthias Clasen <matthiasc@src.gnome.org>2004-04-14 20:26:26 +0000
commitb18a684f280d75b738d68eb4df62606f8afe6d23 (patch)
treef9556e6835175b4f34b7d1888d0dcf91ccf6cf95 /gtk/gtkcellview.c
parent5dc40ee3b447902c7d2078b08775314d1eb869a1 (diff)
downloadgtk+-b18a684f280d75b738d68eb4df62606f8afe6d23.tar.gz
Make the arrow and separator regular children of an hbox inside the
2004-04-14 Matthias Clasen <mclasen@redhat.com> * gtk/gtkcombobox.c: Make the arrow and separator regular children of an hbox inside the button, and propagate state changes from the button to the cell view. (part of the fix for #138650, should also fix #137535) * gtk/gtkcellview.c (gtk_cell_view_expose): Pass the PRELIT state to gtk_cell_renderer_render() when prelighted. (part of the fix for #138650) * gtk/gtkcellrenderertext.c (gtk_cell_renderer_text_render): Use PRELIGHT state when appropriate. (part of the fix for #138650)
Diffstat (limited to 'gtk/gtkcellview.c')
-rw-r--r--gtk/gtkcellview.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/gtk/gtkcellview.c b/gtk/gtkcellview.c
index 1b44316e33..8ca33fd998 100644
--- a/gtk/gtkcellview.c
+++ b/gtk/gtkcellview.c
@@ -408,6 +408,7 @@ gtk_cell_view_expose (GtkWidget *widget,
GList *i;
GtkCellView *cellview;
GdkRectangle area;
+ GtkCellRendererState state;
gboolean rtl = (gtk_widget_get_direction(widget) == GTK_TEXT_DIR_RTL);
cellview = GTK_CELL_VIEW (widget);
@@ -450,6 +451,11 @@ gtk_cell_view_expose (GtkWidget *widget,
area.x = widget->allocation.x + (rtl ? widget->allocation.width : 0);
area.y = widget->allocation.y;
+ if (GTK_WIDGET_STATE (widget) == GTK_STATE_PRELIGHT)
+ state = GTK_CELL_RENDERER_PRELIT;
+ else
+ state = 0;
+
/* PACK_START */
for (i = cellview->priv->cell_list; i; i = i->next)
{
@@ -469,7 +475,7 @@ gtk_cell_view_expose (GtkWidget *widget,
event->window,
widget,
/* FIXME! */
- &area, &area, &event->area, 0);
+ &area, &area, &event->area, state);
if (!rtl)
area.x += info->real_width;
@@ -496,7 +502,7 @@ gtk_cell_view_expose (GtkWidget *widget,
widget->window,
widget,
/* FIXME ! */
- &area, &area, &event->area, 0);
+ &area, &area, &event->area, state);
if (rtl)
area.x += info->real_width;
}