diff --git a/src/register/register-gnome/gnucash-header.c b/src/register/register-gnome/gnucash-header.c index dddd7bb47c..7d902d5c88 100644 --- a/src/register/register-gnome/gnucash-header.c +++ b/src/register/register-gnome/gnucash-header.c @@ -222,7 +222,7 @@ gnc_header_draw (GnomeCanvasItem *item, GdkDrawable *drawable, } -static void +void gnc_header_request_redraw (GncHeader *header) { GnomeCanvas *canvas = GNOME_CANVAS_ITEM(header)->canvas; diff --git a/src/register/register-gnome/gnucash-header.h b/src/register/register-gnome/gnucash-header.h index 553ca3b7da..fa2091a715 100644 --- a/src/register/register-gnome/gnucash-header.h +++ b/src/register/register-gnome/gnucash-header.h @@ -64,6 +64,7 @@ typedef struct GtkWidget *gnc_header_new (GnucashSheet *sheet); void gnc_header_reconfigure (GncHeader *header); +void gnc_header_request_redraw (GncHeader *header); void gnc_header_set_header_rows (GncHeader *header, int num_phys_rows); diff --git a/src/register/register-gnome/gnucash-sheet.c b/src/register/register-gnome/gnucash-sheet.c index 348236d585..1c17b76fd0 100644 --- a/src/register/register-gnome/gnucash-sheet.c +++ b/src/register/register-gnome/gnucash-sheet.c @@ -348,6 +348,10 @@ gnucash_sheet_cursor_move (GnucashSheet *sheet, VirtualLocation virt_loc) gnucash_sheet_make_cell_visible (sheet, virt_loc); changed_cells = !virt_loc_equal (virt_loc, old_virt_loc); + + /* If we've changed cells, redraw the headers */ + if (changed_cells) + gnc_header_request_redraw (GNC_HEADER(sheet->header_item)); /* Now turn on the editing controls. */ gnucash_sheet_activate_cursor_cell (sheet, changed_cells);