summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--glcddrivers/image.c7
-rw-r--r--glcddrivers/noritake800.c4
-rw-r--r--tools/showpic/showpic.c1
-rw-r--r--tools/showtext/showtext.c1
4 files changed, 11 insertions, 2 deletions
diff --git a/glcddrivers/image.c b/glcddrivers/image.c
index 9c71006..a07ce54 100644
--- a/glcddrivers/image.c
+++ b/glcddrivers/image.c
@@ -30,6 +30,7 @@ cDriverImage::cDriverImage(cDriverConfig * config)
cDriverImage::~cDriverImage()
{
+ DeInit();
delete oldConfig;
}
@@ -71,9 +72,15 @@ int cDriverImage::Init()
int cDriverImage::DeInit()
{
if (newLCD)
+ {
delete[] newLCD;
+ newLCD = 0;
+ }
if (oldLCD)
+ {
delete[] oldLCD;
+ oldLCD = 0;
+ }
return 0;
}
diff --git a/glcddrivers/noritake800.c b/glcddrivers/noritake800.c
index b1c5718..89ae898 100644
--- a/glcddrivers/noritake800.c
+++ b/glcddrivers/noritake800.c
@@ -170,13 +170,13 @@ cDriverNoritake800::~cDriverNoritake800()
int x;
if (m_pVFDMem)
- for (x = 0; x < (width + 7) / 8; x++)
+ for (x = 0; x < width; x++)
{
delete[] m_pVFDMem[x];
}
delete[] m_pVFDMem;
if (m_pDrawMem)
- for (x = 0; x < (width + 7) / 8; x++)
+ for (x = 0; x < width; x++)
{
delete[] m_pDrawMem[x];
}
diff --git a/tools/showpic/showpic.c b/tools/showpic/showpic.c
index f17f361..ebeb73f 100644
--- a/tools/showpic/showpic.c
+++ b/tools/showpic/showpic.c
@@ -219,6 +219,7 @@ int main(int argc, char *argv[])
if (glcd.Load(image, picFile) == false)
{
fprintf(stderr, "ERROR: Failed loading file %s\n", picFile.c_str());
+ delete lcd;
return 8;
}
diff --git a/tools/showtext/showtext.c b/tools/showtext/showtext.c
index 2621db1..333d9e3 100644
--- a/tools/showtext/showtext.c
+++ b/tools/showtext/showtext.c
@@ -274,6 +274,7 @@ int main(int argc, char *argv[])
lcd->DeInit();
delete lcd;
+ delete bitmap;
return 0;
}