diff options
author | Alex Blasche <alexander.blasche@theqtcompany.com> | 2016-06-09 15:00:36 +0200 |
---|---|---|
committer | Alex Blasche <alexander.blasche@theqtcompany.com> | 2016-06-09 15:00:43 +0200 |
commit | 6d9a7006e81fc9ef6140bfc62696d1b270aaae08 (patch) | |
tree | d7ce8d417f32ab73543740beab3cdee36b4fdfaf /src/nfc | |
parent | bde54c522b76eeb933296aa1a9e159facbf8e529 (diff) | |
parent | 74916ede2ff34c2040db9cabbb5a6ee81442a7e8 (diff) |
Merge remote-tracking branch 'gerrit/5.6' into 5.7
Change-Id: Id8dffff9bb75db396aabf6da2a3acb78505a6476
Diffstat (limited to 'src/nfc')
-rw-r--r-- | src/nfc/qnearfieldtagtype1.cpp | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/src/nfc/qnearfieldtagtype1.cpp b/src/nfc/qnearfieldtagtype1.cpp index f365b1a3..5d46b8c5 100644 --- a/src/nfc/qnearfieldtagtype1.cpp +++ b/src/nfc/qnearfieldtagtype1.cpp @@ -82,7 +82,8 @@ public: QNearFieldTagType1Private(QNearFieldTagType1 *q) : q_ptr(q), m_readNdefMessageState(NotReadingNdefMessage), m_tlvReader(0), - m_writeNdefMessageState(NotWritingNdefMessage) + m_writeNdefMessageState(NotWritingNdefMessage), + m_tlvWriter(0) { } QNearFieldTagType1 *q_ptr; @@ -170,11 +171,13 @@ void QNearFieldTagType1Private::progressToNextNdefReadMessageState() } m_readNdefMessageState = NdefReadReadingTlv; + delete m_tlvReader; m_tlvReader = new QTlvReader(q); // fall through } case NdefReadReadingTlv: + Q_ASSERT(m_tlvReader); while (!m_tlvReader->atEnd()) { if (!m_tlvReader->readNext()) break; @@ -246,11 +249,13 @@ void QNearFieldTagType1Private::progressToNextNdefWriteMessageState() } m_writeNdefMessageState = NdefWriteReadingTlv; + delete m_tlvReader; m_tlvReader = new QTlvReader(q); // fall through } case NdefWriteReadingTlv: + Q_ASSERT(m_tlvReader); while (!m_tlvReader->atEnd()) { if (!m_tlvReader->readNext()) break; @@ -270,6 +275,7 @@ void QNearFieldTagType1Private::progressToNextNdefWriteMessageState() // fall through case NdefWriteWritingTlv: + delete m_tlvWriter; m_tlvWriter = new QTlvWriter(q); // write old TLVs @@ -288,6 +294,7 @@ void QNearFieldTagType1Private::progressToNextNdefWriteMessageState() // fall through case NdefWriteWritingTlvFlush: // flush the writer + Q_ASSERT(m_tlvWriter); if (m_tlvWriter->process(true)) { m_nextExpectedRequestId = QNearFieldTarget::RequestId(); m_writeNdefMessageState = NotWritingNdefMessage; |