]> git.lyx.org Git - lyx.git/blobdiff - src/graphics/GraphicsConverter.C
If the graphics loader has a copy c-tor it should have copy assignment that does...
[lyx.git] / src / graphics / GraphicsConverter.C
index 90235b4334c3a9dc1b00b71341aab48d7e60997c..baf4abe44877fcfa088ab166d2c15a467b140be8 100644 (file)
 
 #include <config.h>
 
-#ifdef __GNUG__
-#pragma implementation
-#endif
-
 #include "GraphicsConverter.h"
 
 #include "converter.h"
+#include "format.h"
 #include "debug.h"
 
 #include "support/filetools.h"
 #include "support/forkedcall.h"
+#include "support/forkedcallqueue.h"
+#include "support/tostr.h"
+#include "support/lstrings.h"
 #include "support/lyxlib.h"
 
 #include <boost/bind.hpp>
@@ -160,9 +160,9 @@ Converter::Impl::Impl(string const & from_file,   string const & to_file_base,
        } else {
 
                lyxerr[Debug::GRAPHICS] << "\tConversion script:"
-                               << "\n--------------------------------------\n"
-                               << STRCONV(script.str())
-                               << "\n--------------------------------------\n";
+                       << "\n--------------------------------------\n"
+                       << STRCONV(script.str())
+                       << "\n--------------------------------------\n";
 
                // Output the script to file.
                static int counter = 0;
@@ -179,7 +179,7 @@ Converter::Impl::Impl(string const & from_file,   string const & to_file_base,
                // The command needed to run the conversion process
                // We create a dummy command for ease of understanding of the
                // list of forked processes.
-               // Note that 'sh ' is absolutely essential, or execvp will fail.
+               // Note: 'sh ' is absolutely essential, or execvp will fail.
                script_command_ = "sh " + script_file_ + ' ' +
                        OnlyFilename(from_file) + ' ' + to_format;
        }
@@ -195,22 +195,13 @@ void Converter::Impl::startConversion()
                return;
        }
 
-       // Initiate the conversion
-       Forkedcall::SignalTypePtr convert_ptr;
-       convert_ptr.reset(new Forkedcall::SignalType);
+       Forkedcall::SignalTypePtr 
+               ptr = ForkedCallQueue::get().add(script_command_);
 
-       convert_ptr->connect(
-               boost::bind(&Impl::converted, this, _1, _2));
+       ptr->connect(boost::bind(&Impl::converted, this, _1, _2));
 
-       Forkedcall call;
-       int retval = call.startscript(script_command_, convert_ptr);
-       if (retval > 0) {
-               // Unable to even start the script, so clean-up the mess!
-               converted(0, 1);
-       }
 }
 
-
 void Converter::Impl::converted(pid_t /* pid */, int retval)
 {
        if (finished_)