Bug report 1.0.8
- From: "Strong, Russell" <RStrong raytheon com au>
- To: "'jody gnome org'" <jody gnome org>
- Cc: "'gnumeric-list gnome org'" <gnumeric-list gnome org>
- Subject: Bug report 1.0.8
- Date: Tue, 9 Jul 2002 11:37:37 +1000
While SCROLLING through my spread sheet to check that my formulas spanned
the correct cells. I noticed that the red cursor did not cover all the
cells in the equation ( sum ). It only covered the cells that were visible
at the time the cell was selected for editing.
I've created a patch that removes the clipping to the visible region of the
item cursor, and let the canvas clip the item. I haven't noticed a speed
decrease by doing this, but I am guessing that this was put in place for a
reason? That said, you may or may not like to fix it this way:
--- gnumeric-1.0.8/src/item-cursor.c Mon Apr 29 22:43:18 2002
+++ gnumeric-1.0.8.fixed/src/item-cursor.c Tue Jul 9 08:51:42 2002
@@ -206,23 +206,17 @@
int x, y, w, h, extra;
- /* Clip the bounds of the cursor to the visible region of cells */
- int const left = MAX (gcanvas->first.col-1, ic->pos.start.col);
- int const right = MIN (gcanvas->last_visible.col+1,
ic->pos.end.col);
- int const top = MAX (gcanvas->first.row-1, ic->pos.start.row);
- int const bottom = MIN (gcanvas->last_visible.row+1,
ic->pos.end.row);
-
/* Erase the old cursor */
item_cursor_request_redraw (ic);
ic->cached_x = x =
gcanvas->first_offset.col +
- scg_colrow_distance_get (scg, TRUE, gcanvas->first.col,
left);
+ scg_colrow_distance_get (scg, TRUE, gcanvas->first.col,
ic->pos.start.col);
ic->cached_y = y =
gcanvas->first_offset.row +
- scg_colrow_distance_get (scg, FALSE, gcanvas->first.row,
top);
- ic->cached_w = w = scg_colrow_distance_get (scg, TRUE, left,
right+1);
- ic->cached_h = h = scg_colrow_distance_get (scg, FALSE,top,
bottom+1);
+ scg_colrow_distance_get (scg, FALSE, gcanvas->first.row,
ic->pos.start.row);
+ ic->cached_w = w = scg_colrow_distance_get (scg, TRUE,
ic->pos.start.col, ic->pos.end.col+1);
+ ic->cached_h = h = scg_colrow_distance_get (scg,
FALSE,ic->pos.start.row, ic->pos.end.row+1);
item->x1 = x - 1;
item->y1 = y - 1;
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]