tags 618433 patch thanks Hi!
I here attach a corrected version of the broken patch that fixes the issue. Mattias
diff -ur doxygen-1.7.3.orig/src/dot.cpp doxygen-1.7.3/src/dot.cpp --- doxygen-1.7.3.orig/src/dot.cpp 2010-12-15 23:09:16.000000000 +0100 +++ doxygen-1.7.3/src/dot.cpp 2011-03-16 08:06:36.390911302 +0100 @@ -899,6 +899,8 @@ //-------------------------------------------------------------------- +#define DIRECT_DOT_RUN 1 + DotManager *DotManager::m_theInstance = 0; DotManager *DotManager::instance() @@ -915,6 +917,7 @@ m_dotRuns.setAutoDelete(TRUE); m_dotMaps.setAutoDelete(TRUE); m_queue = new DotRunnerQueue; +#ifndef DIRECT_DOT_RUN int i; int numThreads = QMIN(32,Config_getInt("DOT_NUM_THREADS")); if (numThreads==0) numThreads = QMAX(1,QThread::idealThreadCount()+1); @@ -932,6 +935,7 @@ } } ASSERT(m_workers.count()>0); +#endif } DotManager::~DotManager() @@ -1023,11 +1027,22 @@ portable_sysTimerStart(); // fill work queue with dot operations DotRunner *dr; + int prev=1; for (li.toFirst();(dr=li.current());++li) { +#ifdef DIRECT_DOT_RUN + msg("Running dot for graph %d/%d\n",prev,numDotRuns); + if(!dr->run()) return FALSE; + DotRunner::CleanupItem cleanup = dr->cleanup(); + if (!cleanup.file.isEmpty()) + { + QDir(cleanup.path).remove(cleanup.file); + } + prev++; + } +#else m_queue->enqueue(dr); } - int prev=1; // wait for the queue to become empty while ((i=m_queue->count())>0) { @@ -1059,6 +1074,7 @@ { m_workers.at(i)->cleanup(); } +#endif portable_sysTimerStop(); if (setPath) {
signature.asc
Description: This is a digitally signed message part