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)
   {

Attachment: signature.asc
Description: This is a digitally signed message part

Reply via email to