[SCM] konsole packaging branch, master, updated. debian/16.12.0-1-15-gc4bb01c
Maximiliano Curia
maxy at moszumanska.debian.org
Mon Mar 27 12:31:45 UTC 2017
Gitweb-URL: http://git.debian.org/?p=pkg-kde/applications/konsole.git;a=commitdiff;h=bce1252
The following commit has been merged in the master branch:
commit bce12523dc1be25de09920c98407521fa9d49dff
Author: Maximiliano Curia <maxy at gnuservers.com.ar>
Date: Mon Mar 27 14:01:14 2017 +0200
Add upstream patch: Limit-ourselves-to-3-combining-characters.patch
---
...Limit-ourselves-to-3-combining-characters.patch | 49 ++++++++++++++++++++++
debian/patches/series | 1 +
2 files changed, 50 insertions(+)
diff --git a/debian/patches/Limit-ourselves-to-3-combining-characters.patch b/debian/patches/Limit-ourselves-to-3-combining-characters.patch
new file mode 100644
index 0000000..11928e3
--- /dev/null
+++ b/debian/patches/Limit-ourselves-to-3-combining-characters.patch
@@ -0,0 +1,49 @@
+From: "Martin T. H. Sandsmark" <martin.sandsmark at kde.org>
+Date: Sun, 22 Jan 2017 21:00:24 +0100
+Subject: Limit ourselves to 3 combining characters
+
+This seems to be the limit in all the test files I've been trying.
+Without this we get an issue with too many combining characters where
+Konsole will eventually just hang.
+
+REVIEW: 129874
+---
+ src/Screen.cpp | 2 +-
+ tests/combining.py | 15 +++++++++++++++
+ 2 files changed, 16 insertions(+), 1 deletion(-)
+ create mode 100644 tests/combining.py
+
+diff --git a/src/Screen.cpp b/src/Screen.cpp
+index 0b3124a5..b3d513fe 100644
+--- a/src/Screen.cpp
++++ b/src/Screen.cpp
+@@ -668,7 +668,7 @@ void Screen::displayCharacter(unsigned short c)
+ ushort extendedCharLength;
+ const ushort* oldChars = ExtendedCharTable::instance.lookupExtendedChar(currentChar.character, extendedCharLength);
+ Q_ASSERT(oldChars);
+- if (oldChars) {
++ if (oldChars && extendedCharLength < 3) {
+ Q_ASSERT(extendedCharLength > 1);
+ Q_ASSERT(extendedCharLength < 65535);
+ ushort* chars = new ushort[extendedCharLength + 1];
+diff --git a/tests/combining.py b/tests/combining.py
+new file mode 100644
+index 00000000..fb2afc68
+--- /dev/null
++++ b/tests/combining.py
+@@ -0,0 +1,15 @@
++#!/usr/bin/env python3
++
++'''
++Generates an endless amount of combining characters
++'''
++
++import random
++import string
++
++combs = list("\u0300\u0301\u0302\u0303\u0304\u0305\u0306\u0307\u0308\u0309\u030A\u030B\u030C\u030D\u030E\u030F")
++
++while True:
++ random.shuffle(combs)
++ print(random.choice(string.ascii_letters)+"".join(combs), end="", flush=True)
++
diff --git a/debian/patches/series b/debian/patches/series
index e15db8d..e47c055 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -7,3 +7,4 @@ Screen-Fix-potential-crash-when-ExtendedCharTable-tries-t.patch
Handle-surrogate-utf16-characters.patch
Fix-word-boundaries-with-combining-characters.patch
Don-t-include-newlines-in-selection-if-trimming-is-on.patch
+Limit-ourselves-to-3-combining-characters.patch
--
konsole packaging
More information about the pkg-kde-commits
mailing list