From 380c3467b2136e6bbc0b23d05829a75d858a3ffe Mon Sep 17 00:00:00 2001 From: Nicolas Dufour Date: Wed, 6 Oct 2010 20:58:55 +0200 Subject: Extensions. Fix for Bug #652943 (Aborted output extensions create an empty file). Fixed bugs: - https://launchpad.net/bugs/652943 (bzr r9815) --- src/extension/implementation/script.cpp | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) (limited to 'src/extension/implementation/script.cpp') diff --git a/src/extension/implementation/script.cpp b/src/extension/implementation/script.cpp index e075feb91..9a461ab2d 100644 --- a/src/extension/implementation/script.cpp +++ b/src/extension/implementation/script.cpp @@ -602,10 +602,14 @@ void Script::save(Inkscape::Extension::Output *module, file_listener fileout; - execute(command, params, tempfilename_in, fileout); + int data_read = execute(command, params, tempfilename_in, fileout); + + bool success = false; - std::string lfilename = Glib::filename_from_utf8(filenameArg); - bool success = fileout.toFile(lfilename); + if (data_read > 0) { + std::string lfilename = Glib::filename_from_utf8(filenameArg); + success = fileout.toFile(lfilename); + } // make sure we don't leak file descriptors from g_file_open_tmp close(tempfd_in); -- cgit v1.2.3