Blob Blame History Raw
diff -up vim80/src/gui_gtk_x11.c.gtk3-render vim80/src/gui_gtk_x11.c
--- vim80/src/gui_gtk_x11.c.gtk3-render	2017-02-22 10:38:37.935193240 +0100
+++ vim80/src/gui_gtk_x11.c	2017-02-22 10:53:22.847435530 +0100
@@ -688,8 +688,13 @@ draw_event(GtkWidget *widget UNUSED,
 	    {
 		const cairo_rectangle_t rect = list->rectangles[i];
 
-		gui_mch_clear_block(Y_2_ROW(rect.y), 1,
-			Y_2_ROW(rect.y + rect.height - 1), Columns);
+		gui_mch_clear_block(Y_2_ROW((int)rect.y), 0,
+			Y_2_ROW((int)(rect.y + rect.height)) - 1, Columns - 1);
+           }
+
+           for (i = 0; i < list->num_rectangles; i++)
+           {
+               const cairo_rectangle_t rect = list->rectangles[i];
 
 		if (blink_mode)
 		    gui_gtk3_redraw(rect.x, rect.y, rect.width, rect.height);
@@ -6723,6 +6728,11 @@ gui_mch_clear_block(int row1, int col1,
     color.pixel = gui.back_pixel;
 #endif
 
+    col1 = check_col(col1);
+    col2 = check_col(col2);
+    row1 = check_row(row1);
+    row2 = check_row(row2);
+
 #if GTK_CHECK_VERSION(3,0,0)
     {
 	/* Add one pixel to the far right column in case a double-stroked