Fix status line for non-tiple-buffered case
authorKevin Lamonte <kevin.lamonte@gmail.com>
Thu, 15 Aug 2019 22:24:49 +0000 (17:24 -0500)
committerKevin Lamonte <kevin.lamonte@gmail.com>
Thu, 15 Aug 2019 22:24:49 +0000 (17:24 -0500)
src/jexer/backend/SwingTerminal.java
src/jexer/tterminal/ECMA48.java

index 65decfa3642688047465d568dfff2a6ccd88126c..ce26efee97ada8436701c5c373b650a5d9dd3909 100644 (file)
@@ -1180,7 +1180,7 @@ public class SwingTerminal extends LogicalScreen
         /*
         System.err.println("drawGlyph(): " + xPixel + " " + yPixel +
             " " + cell);
-        */
+         */
 
         BufferedImage image = null;
         if (cell.isBlink() && !cursorBlinkVisible) {
@@ -1348,7 +1348,7 @@ public class SwingTerminal extends LogicalScreen
         if (bounds != null) {
             // Only update what is in the bounds
             xCellMin = textColumn(bounds.x);
-            xCellMax = textColumn(bounds.x + bounds.width);
+            xCellMax = textColumn(bounds.x + bounds.width) + 1;
             if (xCellMax > width) {
                 xCellMax = width;
             }
@@ -1359,7 +1359,7 @@ public class SwingTerminal extends LogicalScreen
                 xCellMin = 0;
             }
             yCellMin = textRow(bounds.y);
-            yCellMax = textRow(bounds.y + bounds.height);
+            yCellMax = textRow(bounds.y + bounds.height) + 1;
             if (yCellMax > height) {
                 yCellMax = height;
             }
@@ -1381,7 +1381,7 @@ public class SwingTerminal extends LogicalScreen
             /*
             System.err.printf("bounds %s X %d %d Y %d %d\n",
                  bounds, xCellMin, xCellMax, yCellMin, yCellMax);
-            */
+             */
 
             for (int y = yCellMin; y < yCellMax; y++) {
                 for (int x = xCellMin; x < xCellMax; x++) {
index 9ff37a181fdfc0871e086d47782a1c94f7852904..93ae3cd91930ca2f12bea2c38024b2c3408a0b33 100644 (file)
@@ -6656,19 +6656,19 @@ public class ECMA48 implements Runnable {
 
             // 00-17, 19, 1C-1F, 20-7E   --> put
             if (ch <= 0x17) {
-                sixelParseBuffer.append(ch);
+                sixelParseBuffer.append((char) ch);
                 return;
             }
             if (ch == 0x19) {
-                sixelParseBuffer.append(ch);
+                sixelParseBuffer.append((char) ch);
                 return;
             }
             if ((ch >= 0x1C) && (ch <= 0x1F)) {
-                sixelParseBuffer.append(ch);
+                sixelParseBuffer.append((char) ch);
                 return;
             }
             if ((ch >= 0x20) && (ch <= 0x7E)) {
-                sixelParseBuffer.append(ch);
+                sixelParseBuffer.append((char) ch);
                 return;
             }