]> git.lyx.org Git - features.git/blobdiff - src/insets/InsetGraphics.cpp
Embedding: paste an inset with an embedded file may fail, if the source buffer has...
[features.git] / src / insets / InsetGraphics.cpp
index 3f61db4aaf894e54057ee5e491930d868c119efc..0953912cf970e013586565a1d8ccaf50cef3e333 100644 (file)
@@ -156,8 +156,17 @@ InsetGraphics::~InsetGraphics()
 
 void InsetGraphics::setBuffer(Buffer & buffer)
 {
-       if (buffer_)
-               params_.filename = params_.filename.copyTo(&buffer);
+       if (buffer_) {
+               try {
+                       // a file may not be copied successfully when, e.g. buffer_
+                       // has already been closed.
+                       params_.filename = params_.filename.copyTo(&buffer);
+               } catch (ExceptionMessage const & message) {
+                       Alert::error(message.title_, message.details_);
+                       // failed to embed
+                       params_.filename.setEmbed(false);
+               }
+       }
        Inset::setBuffer(buffer);
 }