[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    [kpmcore/delete-fixes] src: Make the parent in Partition a QPointer.
From:       Teo Mrnjavac <teo () kde ! org>
Date:       2016-04-27 14:59:00
Message-ID: E1avQvc-0000cp-0B () scm ! kde ! org
[Download RAW message or body]

Git commit 83787cbdfcc78cd51c2461084c6e6534f4f77337 by Teo Mrnjavac.
Committed on 27/04/2016 at 14:58.
Pushed by mrnjavac into branch 'delete-fixes'.

Make the parent in Partition a QPointer.

This also reverts commit dc9e9651ac59f58516a153c429532cc8c55142fd.

M  +2    -1    src/core/partition.cpp
M  +2    -1    src/core/partition.h
M  +1    -2    src/ops/deleteoperation.h

http://commits.kde.org/kpmcore/83787cbdfcc78cd51c2461084c6e6534f4f77337

diff --git a/src/core/partition.cpp b/src/core/partition.cpp
index 5feaf85..36b4a94 100644
--- a/src/core/partition.cpp
+++ b/src/core/partition.cpp
@@ -79,7 +79,8 @@ Partition::~Partition()
     // list of children). As a workaround, always remove a partition from =
its parent here in the dtor.
     // This presumably fixes 232092, but backporting is too risky until we=
're sure this doesn't cause
     // side-effects.
-    parent()->remove(this);
+    if (m_Parent)
+        parent()->remove(this);
     clearChildren();
     deleteFileSystem();
 }
diff --git a/src/core/partition.h b/src/core/partition.h
index 0464f37..bbda5a3 100644
--- a/src/core/partition.h
+++ b/src/core/partition.h
@@ -27,6 +27,7 @@
 =

 #include <QStringList>
 #include <QtGlobal>
+#include <QPointer>
 =

 class Device;
 class OperationStack;
@@ -270,7 +271,7 @@ private:
 =

     qint32 m_Number;
     Partitions m_Children;
-    PartitionNode* m_Parent;
+    QPointer< PartitionNode > m_Parent;
     FileSystem* m_FileSystem;
     PartitionRole m_Roles;
     qint64 m_FirstSector;
diff --git a/src/ops/deleteoperation.h b/src/ops/deleteoperation.h
index 6330f99..73972dd 100644
--- a/src/ops/deleteoperation.h
+++ b/src/ops/deleteoperation.h
@@ -24,7 +24,6 @@
 =

 #include "../ops/operation.h"
 =

-#include <QPointer>
 #include <QString>
 =

 class Device;
@@ -102,7 +101,7 @@ protected:
 =

 private:
     Device& m_TargetDevice;
-    QPointer< Partition > m_DeletedPartition;
+    Partition* m_DeletedPartition;
     ShredAction m_ShredAction;
     Job* m_DeleteFileSystemJob;
     DeletePartitionJob* m_DeletePartitionJob;
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic