Mercurial > hg > sonic-visualiser
comparison main/main.cpp @ 332:b168df820681
* Fix crash on exit on win32. This was caused by incorrectly using fftw_free()
to free the string returned from fftw_export_wisdom_to_string(), instead of
plain free().
* Various debug artifacts related to tracking down the above
author | Chris Cannam |
---|---|
date | Fri, 14 Aug 2009 14:01:09 +0000 |
parents | 067a57de45e2 |
children | 3bb7eef5d45c |
comparison
equal
deleted
inserted
replaced
331:067a57de45e2 | 332:b168df820681 |
---|---|
429 int rv = application.exec(); | 429 int rv = application.exec(); |
430 | 430 |
431 gui->hide(); | 431 gui->hide(); |
432 | 432 |
433 cleanupMutex.lock(); | 433 cleanupMutex.lock(); |
434 | |
434 TransformFactory::deleteInstance(); | 435 TransformFactory::deleteInstance(); |
435 TempDirectory::getInstance()->cleanup(); | 436 TempDirectory::getInstance()->cleanup(); |
436 | |
437 application.releaseMainWindow(); | 437 application.releaseMainWindow(); |
438 | 438 |
439 #ifdef HAVE_FFTW3F | 439 #ifdef HAVE_FFTW3F |
440 settings.beginGroup("FFTWisdom"); | 440 settings.beginGroup("FFTWisdom"); |
441 char *cwisdom = fftwf_export_wisdom_to_string(); | 441 char *cwisdom = fftwf_export_wisdom_to_string(); |
442 if (cwisdom) { | 442 if (cwisdom) { |
443 settings.setValue("wisdom", cwisdom); | 443 settings.setValue("wisdom", cwisdom); |
444 fftwf_free(cwisdom); | 444 free(cwisdom); |
445 } | 445 } |
446 #ifdef HAVE_FFTW3 | 446 #ifdef HAVE_FFTW3 |
447 cwisdom = fftw_export_wisdom_to_string(); | 447 cwisdom = fftw_export_wisdom_to_string(); |
448 if (cwisdom) { | 448 if (cwisdom) { |
449 settings.setValue("wisdom_d", cwisdom); | 449 settings.setValue("wisdom_d", cwisdom); |
450 fftw_free(cwisdom); | 450 free(cwisdom); |
451 } | 451 } |
452 #endif | 452 #endif |
453 settings.endGroup(); | 453 settings.endGroup(); |
454 #endif | 454 #endif |
455 | 455 |