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

