diff options
author | Kristian Rietveld <kris@gtk.org> | 2005-06-19 12:44:12 +0000 |
---|---|---|
committer | Kristian Rietveld <kristian@src.gnome.org> | 2005-06-19 12:44:12 +0000 |
commit | d4fdc6b7a90482c4eebccbf1a7d1bb19289818fa (patch) | |
tree | 4c0fb3b603362d887f1df7a6c39b4063bc833090 /gtk/gtkcellrendererprogress.c | |
parent | a2ea759334b897b194714433a646c288a5c05617 (diff) | |
download | gdk-pixbuf-d4fdc6b7a90482c4eebccbf1a7d1bb19289818fa.tar.gz |
This commit includes a fix for #169463, Stefan Kost.
2005-06-19 Kristian Rietveld <kris@gtk.org>
This commit includes a fix for #169463, Stefan Kost.
* gtk/gtkcellrendererprogress.c (gtk_cell_renderer_progress_get_size):
when cell_area is set, return cell_area width/height as width/height,
so the focus rectangle will be drawn correctly.
* gtk/gtktreeview.c (gtk_tree_view_bin_expose): drop unneeded get
of focus-line-width property,
(validate_row): take focus_line_width into account.
* gtk/gtktreeviewcolumn.c (gtk_tree_view_column_cell_process_action):
also take focus_line_width into account when calculating the cell_area
y and height (before, we only took it into account when calculating
x and width).
Diffstat (limited to 'gtk/gtkcellrendererprogress.c')
-rw-r--r-- | gtk/gtkcellrendererprogress.c | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/gtk/gtkcellrendererprogress.c b/gtk/gtkcellrendererprogress.c index c01bbd2f1..e565b2646 100644 --- a/gtk/gtkcellrendererprogress.c +++ b/gtk/gtkcellrendererprogress.c @@ -302,10 +302,23 @@ gtk_cell_renderer_progress_get_size (GtkCellRenderer *cell, compute_dimensions (cell, widget, cellprogress->priv->label, &w, &h); if (width) - *width = MAX (cellprogress->priv->min_w, w); + *width = MAX (cellprogress->priv->min_w, w); if (height) *height = MIN (cellprogress->priv->min_h, h); + + /* FIXME: at the moment cell_area is only set when we are requesting + * the size for drawing the focus rectangle. We now just return + * the last size we used for drawing the progress bar, which will + * work for now. Not a really nice solution though. + */ + if (cell_area) + { + if (width) + *width = cell_area->width; + if (height) + *height = cell_area->height; + } } static void |