mirror of
https://github.com/donovanglover/nix-config.git
synced 2024-11-24 17:23:09 +01:00
overlays: Add kitty duplicate lines patch
Patches the issue described below: https://github.com/kovidgoyal/kitty/issues/6306
This commit is contained in:
parent
8251867144
commit
ad377d14fa
@ -2,6 +2,7 @@
|
||||
imports = [
|
||||
./alejandra
|
||||
./joshuto
|
||||
./kitty
|
||||
./rofi
|
||||
];
|
||||
}
|
||||
|
9
overlays/kitty/default.nix
Normal file
9
overlays/kitty/default.nix
Normal file
@ -0,0 +1,9 @@
|
||||
{
|
||||
nixpkgs.overlays = [
|
||||
(final: prev: {
|
||||
kitty = prev.kitty.overrideAttrs (old: {
|
||||
patches = (old.patches or []) ++ [./fix-duplicate-lines.patch];
|
||||
});
|
||||
})
|
||||
];
|
||||
}
|
40
overlays/kitty/fix-duplicate-lines.patch
Normal file
40
overlays/kitty/fix-duplicate-lines.patch
Normal file
@ -0,0 +1,40 @@
|
||||
From 7f6f1f9a5dac301b9f977e0d1a53c487c5cad9aa Mon Sep 17 00:00:00 2001
|
||||
From: Kovid Goyal <kovid@kovidgoyal.net>
|
||||
Date: Sun, 28 May 2023 06:24:49 +0530
|
||||
Subject: [PATCH] Fix a regression in 0.28.0 that caused a buffer overflow when
|
||||
clearing the screen
|
||||
|
||||
Fixes #6306
|
||||
Fixes #6308
|
||||
---
|
||||
docs/changelog.rst | 2 ++
|
||||
kitty/screen.c | 3 ++-
|
||||
2 files changed, 4 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/docs/changelog.rst b/docs/changelog.rst
|
||||
index b8c9a049e8..12f9806fa2 100644
|
||||
--- a/docs/changelog.rst
|
||||
+++ b/docs/changelog.rst
|
||||
@@ -71,6 +71,8 @@ Detailed list of changes
|
||||
|
||||
- Graphics: Move images up along with text when the window is shrunk vertically (:iss:`6278`)
|
||||
|
||||
+- Fix a regression in 0.28.0 that caused a buffer overflow when clearing the screen (:iss:`6306`, :pull:`6308`)
|
||||
+
|
||||
0.28.1 [2023-04-21]
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
diff --git a/kitty/screen.c b/kitty/screen.c
|
||||
index ffa0e9f94d..a73e4084e3 100644
|
||||
--- a/kitty/screen.c
|
||||
+++ b/kitty/screen.c
|
||||
@@ -894,7 +894,8 @@ cursor_within_margins(Screen *self) {
|
||||
static void
|
||||
screen_dirty_line_graphics(Screen *self, unsigned int top, unsigned int bottom) {
|
||||
bool need_to_remove = false;
|
||||
- for (unsigned int y = top; y <= bottom; y++) {
|
||||
+ bottom = MIN(bottom+1, self->lines);
|
||||
+ for (unsigned int y = top; y < bottom; y++) {
|
||||
if (self->linebuf->line_attrs[y].has_image_placeholders) {
|
||||
need_to_remove = true;
|
||||
linebuf_mark_line_dirty(self->linebuf, y);
|
Loading…
Reference in New Issue
Block a user