From 0be4bb38e65d682e612205f5865a5529b42dc5f1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sl=C3=A1vek=20Banko?= Date: Wed, 27 Oct 2021 04:21:15 +0200 Subject: FreeBSD: Update for final release R14.0.11. Adjusted to new a layout of applications folder. Pinetry-tqt package is not built within the tree. Switch several applications to CMake. Add ports for several applications. Add port for cmake-trinity. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Slávek Banko --- ...h-bp000-fix-crash-on-export-basket-archive.diff | 60 ++++++++++++++++++++++ 1 file changed, 60 insertions(+) create mode 100644 freebsd/applications/office/basket/files/patch-bp000-fix-crash-on-export-basket-archive.diff (limited to 'freebsd/applications/office/basket/files') diff --git a/freebsd/applications/office/basket/files/patch-bp000-fix-crash-on-export-basket-archive.diff b/freebsd/applications/office/basket/files/patch-bp000-fix-crash-on-export-basket-archive.diff new file mode 100644 index 000000000..172333cf3 --- /dev/null +++ b/freebsd/applications/office/basket/files/patch-bp000-fix-crash-on-export-basket-archive.diff @@ -0,0 +1,60 @@ +commit 6ccb5528ecff0cf0db5fe2f81b26a79959e87902 +Author: Slávek Banko +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 + (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); -- cgit v1.2.1