Redraw affected areas after de-selecting a region
[pspp-builds.git] / lib / gtk-contrib / psppire-sheet.c
index 46719927e0cff14260efddc39d15d8542712b2c7..a3bb1c8fcb96ea9e4dfa02a39a8a08d6cc12480c 100644 (file)
@@ -3056,7 +3056,13 @@ psppire_sheet_button_press (GtkWidget *widget, GdkEventButton *event)
            }
          else
            {
+             GdkRectangle area;
              sheet->select_status = PSPPIRE_SHEET_NORMAL;
+
+             rectangle_from_range (sheet, &sheet->range, &area);
+             area.x++;
+             area.y++;
+             gdk_window_invalidate_rect (sheet->sheet_window, &area, FALSE);     
            }
        }
     }
@@ -3689,11 +3695,21 @@ psppire_sheet_motion (GtkWidget *widget,  GdkEventMotion *event)
       if (PSPPIRE_SHEET_IN_SELECTION (sheet) )
        {
          GdkRectangle area;
+
+         /* Redraw the old range */
+         rectangle_from_range (sheet, &sheet->range, &area);
+         area.x++;
+         area.y++;
+         gdk_window_invalidate_rect (sheet->sheet_window, &area, FALSE);         
+
          sheet->range.rowi = row;
          sheet->range.coli = column;
          sheet->select_status = PSPPIRE_SHEET_RANGE_SELECTED;
 
+         /* Redraw the new range */
          rectangle_from_range (sheet, &sheet->range, &area);
+         area.x++;
+         area.y++;
          gdk_window_invalidate_rect (sheet->sheet_window, &area, FALSE);
        }
       else