This patch fixes bug 3232. The problem is that the explicit check for a 
conversion path rules out the default converter, although the actual 
conversion would use it (the try_default flag is set).
Angus, do you remember why the default converter is not used? IMO we should 
use it (this is what the attached patch does).


Georg
Index: src/insets/ExternalSupport.C
===================================================================
--- src/insets/ExternalSupport.C	(Revision 17377)
+++ src/insets/ExternalSupport.C	(Arbeitskopie)
@@ -240,14 +240,6 @@ void updateExternal(InsetExternalParams 
 	if (to_format.empty())
 		return; // NOT_NEEDED
 
-	if (!theConverters().isReachable(from_format, to_format)) {
-		lyxerr[Debug::EXTERNAL]
-			<< "external::updateExternal. "
-			<< "Unable to convert from "
-			<< from_format << " to " << to_format << endl;
-		return; // FAILURE
-	}
-
 	// The master buffer. This is useful when there are multiple levels
 	// of include files
 	Buffer const * m_buffer = buffer.getMasterBuffer();
@@ -319,10 +311,17 @@ void updateExternal(InsetExternalParams 
 
 	// FIXME (Abdel 12/08/06): Is there a need to show these errors?
 	ErrorList el;
-	/* bool const success = */
+	bool const success =
 		theConverters().convert(&buffer, temp_file, abs_to_file,
 		                   params.filename, from_format, to_format, el,
 		                   Converters::try_default | Converters::try_cache);
+
+	if (!success)
+		lyxerr[Debug::EXTERNAL]
+			<< "external::updateExternal. "
+			<< "Unable to convert from "
+			<< from_format << " to " << to_format << endl;
+
 	// return success
 }
 

Reply via email to