summaryrefslogtreecommitdiffstats
path: root/source/kde
diff options
context:
space:
mode:
Diffstat (limited to 'source/kde')
-rw-r--r--source/kde/kde/build/calligra2
-rw-r--r--source/kde/kde/build/cantor2
-rw-r--r--source/kde/kde/build/kcoreaddons2
-rw-r--r--source/kde/kde/build/kfilemetadata2
-rw-r--r--source/kde/kde/build/kile2
-rw-r--r--source/kde/kde/build/kitinerary2
-rw-r--r--source/kde/kde/build/krita2
-rw-r--r--source/kde/kde/build/kstars2
-rw-r--r--source/kde/kde/build/ktexteditor2
-rw-r--r--source/kde/kde/build/okular2
-rw-r--r--source/kde/kde/cmake/kcoreaddons24
-rw-r--r--source/kde/kde/patch/ktexteditor.patch2
-rw-r--r--source/kde/kde/patch/ktexteditor/686da7797105a93035cfbc7edbf2a8e8f8adf0ec.patch101
13 files changed, 137 insertions, 10 deletions
diff --git a/source/kde/kde/build/calligra b/source/kde/kde/build/calligra
index 7ed6ff82d..1e8b31496 100644
--- a/source/kde/kde/build/calligra
+++ b/source/kde/kde/build/calligra
@@ -1 +1 @@
-5
+6
diff --git a/source/kde/kde/build/cantor b/source/kde/kde/build/cantor
index 0cfbf0888..00750edc0 100644
--- a/source/kde/kde/build/cantor
+++ b/source/kde/kde/build/cantor
@@ -1 +1 @@
-2
+3
diff --git a/source/kde/kde/build/kcoreaddons b/source/kde/kde/build/kcoreaddons
index d00491fd7..0cfbf0888 100644
--- a/source/kde/kde/build/kcoreaddons
+++ b/source/kde/kde/build/kcoreaddons
@@ -1 +1 @@
-1
+2
diff --git a/source/kde/kde/build/kfilemetadata b/source/kde/kde/build/kfilemetadata
index d00491fd7..0cfbf0888 100644
--- a/source/kde/kde/build/kfilemetadata
+++ b/source/kde/kde/build/kfilemetadata
@@ -1 +1 @@
-1
+2
diff --git a/source/kde/kde/build/kile b/source/kde/kde/build/kile
index 7ed6ff82d..1e8b31496 100644
--- a/source/kde/kde/build/kile
+++ b/source/kde/kde/build/kile
@@ -1 +1 @@
-5
+6
diff --git a/source/kde/kde/build/kitinerary b/source/kde/kde/build/kitinerary
index 0cfbf0888..00750edc0 100644
--- a/source/kde/kde/build/kitinerary
+++ b/source/kde/kde/build/kitinerary
@@ -1 +1 @@
-2
+3
diff --git a/source/kde/kde/build/krita b/source/kde/kde/build/krita
index 00750edc0..b8626c4cf 100644
--- a/source/kde/kde/build/krita
+++ b/source/kde/kde/build/krita
@@ -1 +1 @@
-3
+4
diff --git a/source/kde/kde/build/kstars b/source/kde/kde/build/kstars
index 00750edc0..d00491fd7 100644
--- a/source/kde/kde/build/kstars
+++ b/source/kde/kde/build/kstars
@@ -1 +1 @@
-3
+1
diff --git a/source/kde/kde/build/ktexteditor b/source/kde/kde/build/ktexteditor
index d00491fd7..0cfbf0888 100644
--- a/source/kde/kde/build/ktexteditor
+++ b/source/kde/kde/build/ktexteditor
@@ -1 +1 @@
-1
+2
diff --git a/source/kde/kde/build/okular b/source/kde/kde/build/okular
index 0cfbf0888..00750edc0 100644
--- a/source/kde/kde/build/okular
+++ b/source/kde/kde/build/okular
@@ -1 +1 @@
-2
+3
diff --git a/source/kde/kde/cmake/kcoreaddons b/source/kde/kde/cmake/kcoreaddons
new file mode 100644
index 000000000..b1cc8566c
--- /dev/null
+++ b/source/kde/kde/cmake/kcoreaddons
@@ -0,0 +1,24 @@
+mkdir cmake-build
+cd cmake-build
+ cmake \
+ $KDE_OPT_ARGS \
+ -DKDE_PLATFORM_FEATURE_DISABLE_DEPRECATED=TRUE \
+ -DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \
+ -DCMAKE_C_FLAGS_RELEASE:STRING="$SLKCFLAGS" \
+ -DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \
+ -DCMAKE_CXX_FLAGS_RELEASE:STRING="$SLKCFLAGS" \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DMAN_INSTALL_DIR=/usr/man \
+ -DSYSCONF_INSTALL_DIR=/etc/kde \
+ -DLIB_SUFFIX=${LIBDIRSUFFIX} \
+ -DLIB_INSTALL_DIR=lib$LIBDIRSUFFIX \
+ -DLIBEXEC_INSTALL_DIR=lib$LIBDIRSUFFIX \
+ -DQT_PLUGIN_INSTALL_DIR=lib$LIBDIRSUFFIX/qt5/plugins \
+ -DQML_INSTALL_DIR=lib$LIBDIRSUFFIX/qt5/qml \
+ -DKDE_INSTALL_USE_QT_SYS_PATHS=ON \
+ -DBUILD_TESTING=OFF \
+ -DCMAKE_DISABLE_FIND_PACKAGE_FAM=ON \
+ -DQca-qt5_DIR=/usr/lib${LIBDIRSUFFIX}/cmake/Qca \
+ ..
+
diff --git a/source/kde/kde/patch/ktexteditor.patch b/source/kde/kde/patch/ktexteditor.patch
new file mode 100644
index 000000000..39331d706
--- /dev/null
+++ b/source/kde/kde/patch/ktexteditor.patch
@@ -0,0 +1,2 @@
+# Fix syntax highlighting in kdevelop:
+cat $CWD/patch/ktexteditor/686da7797105a93035cfbc7edbf2a8e8f8adf0ec.patch | patch -p1 --verbose || { touch ${SLACK_KDE_BUILD_DIR}/${PKGNAME}.failed ; continue ; }
diff --git a/source/kde/kde/patch/ktexteditor/686da7797105a93035cfbc7edbf2a8e8f8adf0ec.patch b/source/kde/kde/patch/ktexteditor/686da7797105a93035cfbc7edbf2a8e8f8adf0ec.patch
new file mode 100644
index 000000000..7fca1a9e5
--- /dev/null
+++ b/source/kde/kde/patch/ktexteditor/686da7797105a93035cfbc7edbf2a8e8f8adf0ec.patch
@@ -0,0 +1,101 @@
+From 686da7797105a93035cfbc7edbf2a8e8f8adf0ec Mon Sep 17 00:00:00 2001
+From: Christoph Cullmann <cullmann@kde.org>
+Date: Wed, 17 Feb 2021 20:51:12 +0100
+Subject: [PATCH] ensure rangesForLine caching is correcly updated
+
+during fixing a segfault, as invalid range pointer were kept
+in the rangesForLine cache, too many ranges were purged
+
+properly update the cache before potential invalidation
+
+add unit test to avoid regressions in the future
+---
+ autotests/src/movingrange_test.cpp | 33 ++++++++++++++++++++++++++++++
+ autotests/src/movingrange_test.h | 1 +
+ src/buffer/katetextblock.cpp | 10 +++++++++
+ 3 files changed, 44 insertions(+)
+
+diff --git a/autotests/src/movingrange_test.cpp b/autotests/src/movingrange_test.cpp
+index 66393ae7..81a85b1a 100644
+--- a/autotests/src/movingrange_test.cpp
++++ b/autotests/src/movingrange_test.cpp
+@@ -459,3 +459,36 @@ void MovingRangeTest::testLineRemoved()
+ auto r = doc.buffer().rangesForLine(1, view, true);
+ QVERIFY(r.isEmpty());
+ }
++
++void MovingRangeTest::testLineWrapOrUnwrapUpdateRangeForLineCache()
++{
++ KTextEditor::DocumentPrivate doc;
++ doc.setText(
++ QStringLiteral("abcd\n"
++ "efgh\n"
++ "hijk\n"));
++
++ // add range to line 2, it shall be in rangeForLine for the right lines after each update!
++ // must be single line range to be in the cache!
++ auto range = static_cast<Kate::TextRange *>(doc.newMovingRange({2, 1, 2, 3},
++ KTextEditor::MovingRange::ExpandLeft | KTextEditor::MovingRange::ExpandRight,
++ KTextEditor::MovingRange::InvalidateIfEmpty));
++
++ // range shall be in the lookup cache for line 2
++ QVERIFY(doc.buffer().rangesForLine(0, nullptr, false).isEmpty());
++ QVERIFY(doc.buffer().rangesForLine(1, nullptr, false).isEmpty());
++ QVERIFY(doc.buffer().rangesForLine(2, nullptr, false).contains(range));
++
++ // wrap line 1 => range should move to line 3
++ doc.editWrapLine(1, 1);
++ QVERIFY(doc.buffer().rangesForLine(0, nullptr, false).isEmpty());
++ QVERIFY(doc.buffer().rangesForLine(1, nullptr, false).isEmpty());
++ QVERIFY(doc.buffer().rangesForLine(2, nullptr, false).isEmpty());
++ QVERIFY(doc.buffer().rangesForLine(3, nullptr, false).contains(range));
++
++ // unwrap line 1 => range should back move to line 2
++ doc.editUnWrapLine(1);
++ QVERIFY(doc.buffer().rangesForLine(0, nullptr, false).isEmpty());
++ QVERIFY(doc.buffer().rangesForLine(1, nullptr, false).isEmpty());
++ QVERIFY(doc.buffer().rangesForLine(2, nullptr, false).contains(range));
++}
+diff --git a/autotests/src/movingrange_test.h b/autotests/src/movingrange_test.h
+index 6f8c057d..016655f7 100644
+--- a/autotests/src/movingrange_test.h
++++ b/autotests/src/movingrange_test.h
+@@ -24,6 +24,7 @@ private Q_SLOTS:
+ void testFeedbackCaret();
+ void testFeedbackMouse();
+ void testLineRemoved();
++ void testLineWrapOrUnwrapUpdateRangeForLineCache();
+ };
+
+ #endif // KATE_MOVINGRANGE_TEST_H
+diff --git a/src/buffer/katetextblock.cpp b/src/buffer/katetextblock.cpp
+index 43d137e4..246897b4 100644
+--- a/src/buffer/katetextblock.cpp
++++ b/src/buffer/katetextblock.cpp
+@@ -167,6 +167,11 @@ void TextBlock::wrapLine(const KTextEditor::Cursor &position, int fixStartLinesS
+ // we might need to invalidate ranges or notify about their changes
+ // checkValidity might trigger delete of the range!
+ for (TextRange *range : qAsConst(changedRanges)) {
++ // we need to do updateRange to ALWAYS ensure the line => range and back cache is updated
++ // see MovingRangeTest::testLineWrapOrUnwrapUpdateRangeForLineCache
++ updateRange(range);
++
++ // in addition: ensure that we really invalidate bad ranges!
+ range->checkValidity(range->toLineRange());
+ }
+ }
+@@ -333,6 +338,11 @@ void TextBlock::unwrapLine(int line, TextBlock *previousBlock, int fixStartLines
+ // we might need to invalidate ranges or notify about their changes
+ // checkValidity might trigger delete of the range!
+ for (TextRange *range : qAsConst(changedRanges)) {
++ // we need to do updateRange to ALWAYS ensure the line => range and back cache is updated
++ // see MovingRangeTest::testLineWrapOrUnwrapUpdateRangeForLineCache
++ updateRange(range);
++
++ // in addition: ensure that we really invalidate bad ranges!
+ range->checkValidity(range->toLineRange());
+ }
+ }
+--
+GitLab
+