diff options
Diffstat (limited to 'arch/tde-extra/tde-basket')
-rw-r--r-- | arch/tde-extra/tde-basket/PKGBUILD | 26 | ||||
-rw-r--r-- | arch/tde-extra/tde-basket/bp000-fix-crash-on-export-basket-archive.diff | 60 |
2 files changed, 77 insertions, 9 deletions
diff --git a/arch/tde-extra/tde-basket/PKGBUILD b/arch/tde-extra/tde-basket/PKGBUILD index 3e9a7a007..b36019020 100644 --- a/arch/tde-extra/tde-basket/PKGBUILD +++ b/arch/tde-extra/tde-basket/PKGBUILD @@ -2,10 +2,11 @@ # Contributor: David C. Rankin <drankinatty at gmail dot com> _mod=basket -_cat=applications/ +_cat=applications/office/ _kdemod="${_mod/tde/kde}" + pkgname="tde-${_mod}" -pkgver=14.0.10 +pkgver=14.0.11 pkgrel=1 pkgdesc="A multi-purpose note-taking application for KDE" arch=('i686' 'x86_64') @@ -17,22 +18,28 @@ depends=( 'tde-tdelibs' ) makedepends=( - 'cmake' - 'pkgconfig' + 'tde-cmake-trinity' 'tde-tdepim' ) optdepends=() -confilicts=("trinity-${_kdemod}" "kdemod3-${_kdemod}") +conflicts=("trinity-${_mod}" "kdemod3-${_kdemod}") replaces=("trinity-${_mod}") options=('staticlibs' 'libtool' '!strip') install= -source=("https://mirror.ppa.trinitydesktop.org/trinity/releases/R${pkgver}/main/${_cat}${_mod}-trinity-${pkgver}.tar.xz") -md5sums=('6a70768661d810eeeba5281075215803') +source=("https://mirror.ppa.trinitydesktop.org/trinity/releases/R${pkgver}/main/${_cat}${_mod}-trinity-${pkgver}.tar.xz" + 'bp000-fix-crash-on-export-basket-archive.diff') +md5sums=('1b078e8c8d67c2ce110080fa687bd5cb' + '402c273bb65646cf377ff9d1be762f07') [ -n "$TDEDIR" ] || TDEDIR=/opt/trinity [ -n "$QTDIR" ] || QTDIR=${TDEDIR}/tqt3 +prepare() { + cd ${srcdir}/${_mod}-trinity-${pkgver} + patch -p1 <${srcdir}/bp000-fix-crash-on-export-basket-archive.diff +} + build() { msg "Creating out-of-source build directory: ${srcdir}/build" mkdir -p "$srcdir/build" @@ -42,6 +49,7 @@ build() { msg "Starting cmake..." cmake ${srcdir}/${_mod}-trinity-${pkgver} \ + -GNinja \ -DCMAKE_VERBOSE_MAKEFILE=ON \ -DCMAKE_INSTALL_PREFIX=${TDEDIR} \ -DSYSCONF_INSTALL_DIR=${TDEDIR}/etc \ @@ -49,11 +57,11 @@ build() { -DWITH_ALL_OPTIONS=ON msg "Building - ${pkgname}..." - make $NUMJOBS + ninja $NUMJOBS } package() { msg "Packaging - ${pkgname}-${pkgver}" cd "$srcdir/build" - make -j1 DESTDIR="$pkgdir" install + DESTDIR="$pkgdir" ninja -j1 install } diff --git a/arch/tde-extra/tde-basket/bp000-fix-crash-on-export-basket-archive.diff b/arch/tde-extra/tde-basket/bp000-fix-crash-on-export-basket-archive.diff new file mode 100644 index 000000000..172333cf3 --- /dev/null +++ b/arch/tde-extra/tde-basket/bp000-fix-crash-on-export-basket-archive.diff @@ -0,0 +1,60 @@ +commit 6ccb5528ecff0cf0db5fe2f81b26a79959e87902 +Author: Slávek Banko <slavek.banko@axis.cz> +Date: Fri Oct 29 03:47:53 2021 +0200 + + Prevent null pointer deference in methods for selection. + This resolves the crash when exporting the Basket archive. + + Signed-off-by: Slávek Banko <slavek.banko@axis.cz> + (cherry picked from commit a08c6ac9e3c8ac162ce08b730fd6108e2f71213c) + +diff --git a/src/archive.cpp b/src/archive.cpp +index 3f3377c..aec789f 100644 +--- a/src/archive.cpp ++++ b/src/archive.cpp +@@ -228,7 +228,8 @@ void Archive::saveBasketToArchive(Basket *basket, bool recursive, KTar *tar, TQS + + // Recursively save child baskets: + BasketListViewItem *item = Global::bnpView->listViewItemForBasket(basket); +- if (recursive && item->firstChild()) { ++ if (recursive && item && item->firstChild()) ++ { + for (BasketListViewItem *child = (BasketListViewItem*) item->firstChild(); child; child = (BasketListViewItem*) child->nextSibling()) { + saveBasketToArchive(child->basket(), recursive, tar, backgrounds, tempFolder, progress); + } +diff --git a/src/basket.cpp b/src/basket.cpp +index a4edb31..67107d2 100644 +--- a/src/basket.cpp ++++ b/src/basket.cpp +@@ -4469,12 +4469,20 @@ void Basket::noteUngroup() + + void Basket::unplugSelection(NoteSelection *selection) + { ++ if (!selection) ++ { ++ return; ++ } + for (NoteSelection *toUnplug = selection->firstStacked(); toUnplug; toUnplug = toUnplug->nextStacked()) + unplugNote(toUnplug->note); + } + + void Basket::insertSelection(NoteSelection *selection, Note *after) + { ++ if (!selection) ++ { ++ return; ++ } + for (NoteSelection *toUnplug = selection->firstStacked(); toUnplug; toUnplug = toUnplug->nextStacked()) { + if (toUnplug->note->isGroup()) { + Note *group = new Note(this); +@@ -4496,6 +4504,10 @@ void Basket::insertSelection(NoteSelection *selection, Note *after) + + void Basket::selectSelection(NoteSelection *selection) + { ++ if (!selection) ++ { ++ return; ++ } + for (NoteSelection *toUnplug = selection->firstStacked(); toUnplug; toUnplug = toUnplug->nextStacked()) { + if (toUnplug->note->isGroup()) + selectSelection(toUnplug); |