for (list = tree_view->priv->columns; list; list = list->next, i++)
{
PsppSheetViewColumn *column = list->data;
-
- /* We don't want a line for the last column */
- if (i == n_visible_columns - 1)
- break;
+ gint x;
if (! column->visible)
continue;
current_x += column->width;
- if (current_x - 1 >= event->area.x
- && current_x - 1 < event->area.x + event->area.width)
+ /* Generally the grid lines should fit within the column, but for the
+ last visible column we put it just past the end of the column.
+ (Otherwise horizontal grid lines sometimes stick out by one pixel.) */
+ x = current_x;
+ if (i != n_visible_columns - 1)
+ x--;
+
+ if (x >= event->area.x && x < event->area.x + event->area.width)
gdk_draw_line (event->window,
tree_view->priv->grid_line_gc[GTK_WIDGET(tree_view)->state],
- current_x - 1, min_y,
- current_x - 1, max_y - min_y);
+ x, min_y,
+ x, max_y - min_y);
}
}
background_area.x + background_area.width,
background_area.y);
- if (y_offset + max_height >= event->area.height)
+ if (y_offset + max_height <= event->area.height)
gdk_draw_line (event->window,
tree_view->priv->grid_line_gc[widget->state],
background_area.x, background_area.y + max_height,
if (!focus_column->button)
{
pspp_sheet_view_column_set_need_button (focus_column, TRUE);
- g_return_if_fail (focus_column->button != NULL);
+ // g_return_if_fail (focus_column->button != NULL);
+ if (focus_column->button == NULL)
+ return;
}
if (GTK_CONTAINER (tree_view)->focus_child != focus_column->button)