summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorMarc Mutz <marc.mutz@kdab.com>2020-04-27 16:45:43 +0200
committerMarc Mutz <marc.mutz@kdab.com>2020-04-30 00:31:12 +0200
commit0daed8dee82d29be1dbf39046b0d4a0814e08d08 (patch)
treedcff15e7a521d72f3e75b7fcc5811e5dc2794d2c /src
parentb40c8e306885aae2e44ee32a5b3a7e80d7737d5f (diff)
QWidgetLineControl: replace raw memory handling with std::unique_ptr
Change-Id: I131175a9f7147783c4f4c0a1c4929e28677c159a Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
Diffstat (limited to 'src')
-rw-r--r--src/widgets/widgets/qwidgetlinecontrol.cpp6
-rw-r--r--src/widgets/widgets/qwidgetlinecontrol_p.h5
2 files changed, 4 insertions, 7 deletions
diff --git a/src/widgets/widgets/qwidgetlinecontrol.cpp b/src/widgets/widgets/qwidgetlinecontrol.cpp
index 3f1c1ce629..80791cae83 100644
--- a/src/widgets/widgets/qwidgetlinecontrol.cpp
+++ b/src/widgets/widgets/qwidgetlinecontrol.cpp
@@ -963,8 +963,7 @@ void QWidgetLineControl::parseInputMask(const QString &maskFields)
int delimiter = maskFields.indexOf(QLatin1Char(';'));
if (maskFields.isEmpty() || delimiter == 0) {
if (m_maskData) {
- delete [] m_maskData;
- m_maskData = nullptr;
+ m_maskData.reset();
m_maxLength = 32767;
internalSetText(QString(), -1, false);
}
@@ -1002,8 +1001,7 @@ void QWidgetLineControl::parseInputMask(const QString &maskFields)
m_maxLength++;
}
- delete [] m_maskData;
- m_maskData = new MaskInputData[m_maxLength];
+ m_maskData = std::make_unique<MaskInputData[]>(m_maxLength);
MaskInputData::Casemode m = MaskInputData::NoCaseMode;
bool s;
diff --git a/src/widgets/widgets/qwidgetlinecontrol_p.h b/src/widgets/widgets/qwidgetlinecontrol_p.h
index 43ce9ff7e4..f906165c20 100644
--- a/src/widgets/widgets/qwidgetlinecontrol_p.h
+++ b/src/widgets/widgets/qwidgetlinecontrol_p.h
@@ -70,6 +70,7 @@
#include "qplatformdefs.h"
#include <vector>
+#include <memory>
#ifdef DrawText
# undef DrawText
@@ -111,8 +112,6 @@ public:
// to zero it out
if (m_echoMode != QLineEdit::Normal)
m_text.fill(u'\0');
-
- delete [] m_maskData;
}
void setAccessibleObject(QObject *object)
@@ -465,7 +464,7 @@ private:
};
QString m_inputMask;
QChar m_blank;
- MaskInputData *m_maskData;
+ std::unique_ptr<MaskInputData[]> m_maskData;
// undo/redo handling
enum CommandType { Separator, Insert, Remove, Delete, RemoveSelection, DeleteSelection, SetSelection };