summaryrefslogtreecommitdiffstats
path: root/src/basket.cpp
diff options
context:
space:
mode:
authorSlávek Banko <slavek.banko@axis.cz>2021-10-29 03:47:53 +0200
committerSlávek Banko <slavek.banko@axis.cz>2021-11-02 02:35:31 +0100
commit2bca54ade851c0f0d0be05331a34416722db9ec1 (patch)
treefbefa526336b3d0e9f6abab90167c285c378fceb /src/basket.cpp
parent3f42b68ae4e776a89bdcf9323e4a695d2a4ffc87 (diff)
downloadbasket-2bca54ade851c0f0d0be05331a34416722db9ec1.tar.gz
basket-2bca54ade851c0f0d0be05331a34416722db9ec1.zip
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)
Diffstat (limited to 'src/basket.cpp')
-rw-r--r--src/basket.cpp12
1 files changed, 12 insertions, 0 deletions
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);