diff --git a/src/driver/pictureviewer/pictureviewer.cpp b/src/driver/pictureviewer/pictureviewer.cpp index cf1ca2b65..8c01f3ec4 100644 --- a/src/driver/pictureviewer/pictureviewer.cpp +++ b/src/driver/pictureviewer/pictureviewer.cpp @@ -368,6 +368,17 @@ CPictureViewer::CPictureViewer () init_handlers (); } +CPictureViewer::~CPictureViewer () +{ + Cleanup(); + CFormathandler *fh = fh_root; + while (fh) { + CFormathandler *tmp = fh->next; + free(fh); + fh = tmp; + } +} + void CPictureViewer::showBusy (int sx, int sy, int width, char r, char g, char b) { // dbout("Show Busy{\n"); @@ -446,12 +457,6 @@ void CPictureViewer::Cleanup () free (m_CurrentPic_Buffer); m_CurrentPic_Buffer = NULL; } - CFormathandler *fh = fh_root; - while (fh) { - CFormathandler *tmp = fh->next; - free(fh); - fh = tmp; - } } void CPictureViewer::getSize(const char* name, int* width, int *height) diff --git a/src/driver/pictureviewer/pictureviewer.h b/src/driver/pictureviewer/pictureviewer.h index 011fa8bee..bb47b34bd 100644 --- a/src/driver/pictureviewer/pictureviewer.h +++ b/src/driver/pictureviewer/pictureviewer.h @@ -50,7 +50,7 @@ class CPictureViewer COLOR=2 }; CPictureViewer(); - ~CPictureViewer(){Cleanup();}; + ~CPictureViewer(); bool ShowImage(const std::string & filename, bool unscaled=false); bool DecodeImage(const std::string & name, bool showBusySign=false, bool unscaled=false); bool DisplayNextImage();