Commit c05ffda9 authored by Jody Goldberg's avatar Jody Goldberg Committed by Jody Goldberg

Good bug.

2002-01-14  Jody Goldberg <jody@gnome.org>

	http://bugzilla.gnome.org/show_bug.cgi?id=68661
	* src/item-grid.c (item_grid_draw) : handle fully hidden merged regions
	  that may trail off the endi of the visible region.
	* src/print-cell.c (print_cell_range) : ditto.
parent e5e27978
2002-01-14 Jody Goldberg <jody@gnome.org>
http://bugzilla.gnome.org/show_bug.cgi?id=68661
* src/item-grid.c (item_grid_draw) : handle fully hidden merged regions
that may trail off the endi of the visible region.
* src/print-cell.c (print_cell_range) : ditto.
2002-01-13 Jody Goldberg <jody@gnome.org>
* src/workbook-control.c (wb_control_parse_and_jump) : typo.
......
......@@ -22,6 +22,7 @@ Jody:
* Fix displayed cursor when leaving a sheet object.
* Improve goto box to support names, and inter-sheet jumps.
* Support inter-sheet references in the goal seek.
* Handle totally hidden merges at freeze bound.
Jon Kåre:
* Added WEEKNUM and ISOWEEKNUM
......
2002-01-14 Jody Goldberg <jody@gnome.org>
http://bugzilla.gnome.org/show_bug.cgi?id=68661
* src/item-grid.c (item_grid_draw) : handle fully hidden merged regions
that may trail off the endi of the visible region.
* src/print-cell.c (print_cell_range) : ditto.
2002-01-13 Jody Goldberg <jody@gnome.org>
* src/workbook-control.c (wb_control_parse_and_jump) : typo.
......
2002-01-14 Jody Goldberg <jody@gnome.org>
http://bugzilla.gnome.org/show_bug.cgi?id=68661
* src/item-grid.c (item_grid_draw) : handle fully hidden merged regions
that may trail off the endi of the visible region.
* src/print-cell.c (print_cell_range) : ditto.
2002-01-13 Jody Goldberg <jody@gnome.org>
* src/workbook-control.c (wb_control_parse_and_jump) : typo.
......
2002-01-14 Jody Goldberg <jody@gnome.org>
http://bugzilla.gnome.org/show_bug.cgi?id=68661
* src/item-grid.c (item_grid_draw) : handle fully hidden merged regions
that may trail off the endi of the visible region.
* src/print-cell.c (print_cell_range) : ditto.
2002-01-13 Jody Goldberg <jody@gnome.org>
* src/workbook-control.c (wb_control_parse_and_jump) : typo.
......
......@@ -426,11 +426,28 @@ item_grid_draw (GnomeCanvasItem *item, GdkDrawable *drawable,
CellSpanInfo const *span;
ColRowInfo const *ci = sheet_col_get_info (sheet, col);
if (!ci->visible)
if (!ci->visible) {
if (merged_active != NULL) {
Range const *r = merged_active->data;
if (r->end.col == col) {
ptr = merged_active;
merged_active = merged_active->next;
if (r->end.row <= row) {
ptr->next = merged_used;
merged_used = ptr;
MERGE_DEBUG (r, " : active2 -> used\n");
} else {
ptr->next = merged_active_seen;
merged_active_seen = ptr;
MERGE_DEBUG (r, " : active2 -> seen\n");
}
}
}
continue;
}
/* Skip any merged regions */
if (merged_active) {
if (merged_active != NULL) {
Range const *r = merged_active->data;
if (r->start.col <= col) {
gboolean clear_top, clear_bottom = TRUE;
......@@ -556,6 +573,22 @@ item_grid_draw (GnomeCanvasItem *item, GdkDrawable *drawable,
drawable, diff_x, y, y+ri->size_pixels,
colwidths, TRUE);
/* In case there were hidden merges that trailed off the end */
while (merged_active != NULL) {
Range const *r = merged_active->data;
ptr = merged_active;
merged_active = merged_active->next;
if (r->end.row <= row) {
ptr->next = merged_used;
merged_used = ptr;
MERGE_DEBUG (r, " : active3 -> used\n");
} else {
ptr->next = merged_active_seen;
merged_active_seen = ptr;
MERGE_DEBUG (r, " : active3 -> seen\n");
}
}
/* roll the pointers */
borders = prev_vert; prev_vert = sr.vertical;
sr.vertical = next_sr.vertical; next_sr.vertical = borders;
......
......@@ -890,8 +890,25 @@ print_cell_range (GnomePrintContext *context,
CellSpanInfo const *span;
ColRowInfo const *ci = sheet_col_get_info (sheet, col);
if (!ci->visible)
if (!ci->visible) {
if (merged_active != NULL) {
Range const *r = merged_active->data;
if (r->end.col == col) {
ptr = merged_active;
merged_active = merged_active->next;
if (r->end.row <= row) {
ptr->next = merged_used;
merged_used = ptr;
MERGE_DEBUG (r, " : active2 -> used\n");
} else {
ptr->next = merged_active_seen;
merged_active_seen = ptr;
MERGE_DEBUG (r, " : active2 -> seen\n");
}
}
}
continue;
}
/* Skip any merged regions */
if (merged_active) {
......@@ -1007,6 +1024,21 @@ print_cell_range (GnomePrintContext *context,
context, base_x, y, y-ri->size_pts,
sheet, TRUE);
/* In case there were hidden merges that trailed off the end */
while (merged_active != NULL) {
Range const *r = merged_active->data;
ptr = merged_active;
merged_active = merged_active->next;
if (r->end.row <= row) {
ptr->next = merged_used;
merged_used = ptr;
MERGE_DEBUG (r, " : active3 -> used\n");
} else {
ptr->next = merged_active_seen;
merged_active_seen = ptr;
MERGE_DEBUG (r, " : active3 -> seen\n");
}
}
/* roll the pointers */
borders = prev_vert; prev_vert = sr.vertical;
sr.vertical = next_sr.vertical; next_sr.vertical = borders;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment