From f4171ab3f5bff76f21258d8b2cb7a7da5c94a591 Mon Sep 17 00:00:00 2001 From: guigues Date: Mon, 30 Mar 2009 14:35:03 +0000 Subject: [PATCH] Linux --- appli/TestGimmickReaderDialog/main.cxx | 7 +++++ src2/creaImageIOMultiThreadImageReader.cpp | 33 ++++++++++++---------- src2/creaImageIOWxTreeView.cpp | 2 +- 3 files changed, 26 insertions(+), 16 deletions(-) diff --git a/appli/TestGimmickReaderDialog/main.cxx b/appli/TestGimmickReaderDialog/main.cxx index fc35ca8..d5d3550 100644 --- a/appli/TestGimmickReaderDialog/main.cxx +++ b/appli/TestGimmickReaderDialog/main.cxx @@ -1,3 +1,4 @@ +#include #include #include @@ -6,6 +7,12 @@ int main(int argc, char* argv[]) { + if (argc>1) + { + int l = atoi(argv[1]); + creaImageIO::SetGimmickMessageLevel(l); + } + std::vector images; bool r = creaImageIO::GimmickReaderDialog(images, "GimmickReaderDialog test", diff --git a/src2/creaImageIOMultiThreadImageReader.cpp b/src2/creaImageIOMultiThreadImageReader.cpp index 053f77e..8ec273f 100644 --- a/src2/creaImageIOMultiThreadImageReader.cpp +++ b/src2/creaImageIOMultiThreadImageReader.cpp @@ -437,19 +437,34 @@ namespace creaImageIO ImageToLoadPtr unload = mUnloadQueue.remove_top(); MultiThreadImageReaderUser* user = unload->GetUser(); + /* if ((user!=0)&&(user!=this)) { user->GetMultiThreadImageReaderUserMutex().Lock(); } + */ + std::string filename = unload->GetFilename(); - GimmickMessage(5,"'" << unload->GetFilename() << "'" << std::endl); + GimmickMessage(5,"'" << filename << "'" << std::endl); mTotalMem -= unload->GetImage()->GetEstimatedMemorySize(); GimmickMessage(5," ==> Total mem = "<GetFilename(); + + if (user!=0) + { + // std::cout << "unlock..."<GetMultiThreadImageReaderUserMutex().Unlock(); + // std::cout << "event"<MultiThreadImageReaderSendEvent + (filename, + MultiThreadImageReaderUser::ImageUnloaded, + 0); + // std::cout << "event ok"<Index()>=0) { // GimmickMessage(5,"still in queue"<GetMultiThreadImageReaderUserMutex().Unlock(); - // std::cout << "event"<MultiThreadImageReaderSendEvent - (filename, - MultiThreadImageReaderUser::ImageUnloaded, - 0); - // std::cout << "event ok"<