We've been using Intel IPP since version 6.0 and since then we've been noticing problems with UIC libs. We use all the UIC codecs in our application and we found out that deleting the jpeg object in Debug mode causes the application to crash. In Release mode it works with no problems. We initialize UIC::BaseImageDecoder* dec = NULL; and then depending on the file type we construct appropriate decoder with dec = new JPEGDecoder() (or others).
After we finish working with it, we tried calling dec->Close() and then deleting dec, but it crashed with no stack trace on delete dec. Any help is welcome.
This is all happening with dynamically linked UIC libs version 7.0.7.
Thanks a lot.
This is what you said:
"Do not use Close() here. ~JPEGDecoder calls Close() itself and there is double "delete m_jpeg".
This is fixed in 7.1."
I understood that Close() calls delete m_jpeg and then since destructor calls Close() again it deletes already deleted pointer. Now, I tried removing Close() and leaving destructor calls it and the application still crashes. Did you mean to say that destructor calls delete m_jpeg as well as Close(). Meaning you had a big bug in your code. I'll try 7.1 and see if it works.