From 2092db58eeedf599698a9cafd7e52a1a69fabf75 Mon Sep 17 00:00:00 2001 From: patacongo Date: Fri, 23 Nov 2012 15:49:06 +0000 Subject: Several changes (mostly graphics related) from Petteri Aimonen git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5385 42af7a65-404d-4744-a932-0658087f49c3 --- NxWidgets/ChangeLog.txt | 4 +++- NxWidgets/libnxwidgets/src/cnumericedit.cxx | 8 +++++--- NxWidgets/libnxwidgets/src/ctext.cxx | 3 +++ 3 files changed, 11 insertions(+), 4 deletions(-) (limited to 'NxWidgets') diff --git a/NxWidgets/ChangeLog.txt b/NxWidgets/ChangeLog.txt index f932d5bc2..c3ae00d6a 100644 --- a/NxWidgets/ChangeLog.txt +++ b/NxWidgets/ChangeLog.txt @@ -211,4 +211,6 @@ using the internal work queues from user space. I have decided to implemented user-space work queues (someday) in order to accomplish that functionaliy. Submitted by Petteri Aimonen. - +* NxWidgets:CText and NxWidgets:CNumericEdite: Fix some memory freeing bugs + (from Petteri Aimonen). + \ No newline at end of file diff --git a/NxWidgets/libnxwidgets/src/cnumericedit.cxx b/NxWidgets/libnxwidgets/src/cnumericedit.cxx index e0df014c5..993e86fb8 100644 --- a/NxWidgets/libnxwidgets/src/cnumericedit.cxx +++ b/NxWidgets/libnxwidgets/src/cnumericedit.cxx @@ -158,9 +158,11 @@ CNumericEdit::CNumericEdit(CWidgetControl *pWidgetControl, nxgl_coord_t x, nxgl_ CNumericEdit::~CNumericEdit() { - delete m_label; - delete m_button_minus; - delete m_button_plus; + // CNxWidget destroys all children + + m_label = 0; + m_button_minus = 0; + m_button_plus = 0; } void CNumericEdit::getPreferredDimensions(CRect &rect) const diff --git a/NxWidgets/libnxwidgets/src/ctext.cxx b/NxWidgets/libnxwidgets/src/ctext.cxx index 688031d88..caa0c02e8 100644 --- a/NxWidgets/libnxwidgets/src/ctext.cxx +++ b/NxWidgets/libnxwidgets/src/ctext.cxx @@ -276,11 +276,14 @@ const int CText::getLineTrimmedLength(const int lineNumber) const length--; } while (iterator->moveToPrevious() && (length > 0)); + + delete iterator; return length; } // May occur if data has been horribly corrupted somewhere + delete iterator; return 0; } -- cgit v1.2.3