On Sun, Jan 08, 2017 at 01:45:57PM -0500, Richard Heck wrote:

> On 01/08/2017 09:17 AM, Scott Kostyshak wrote:
> > On Sun, Jan 08, 2017 at 09:30:32AM +0000, Jean-Pierre Chrétien wrote:
> >
> >> The only thing I noticed is a
> >> lot of messages
> >>
> >> QFile::remove: Empty or null file name
> >>
> >> in the calling shell window.
> > We noticed the same thing at
> > https://www.mail-archive.com/search?l=mid&q=a15e9a60-11bb-c081-84cb-9b7f8536b163%40free.fr
> >
> > but I could not figure out the root cause.
> 
> This must be coming from a call to QFile::remove in FileName.cpp. My
> suggestion would be to put some LYXERR0 messages before each of them and
> see where it's coming from. Then, once you know that, maybe put a
> temporary assertion on a non-empty filename. Or even just start with that.

Simply don't try to remove a file that has yet to be created. This occurs
when cloning InsetExternal. See attached.

-- 
Enrico
diff --git a/src/insets/InsetExternal.cpp b/src/insets/InsetExternal.cpp
index b68a09d..00c304a 100644
--- a/src/insets/InsetExternal.cpp
+++ b/src/insets/InsetExternal.cpp
@@ -99,7 +99,8 @@ TempName::~TempName()
 TempName & TempName::operator=(TempName const & other)
 {
        if (this != &other) {
-               tempname_.removeFile();
+               if (!tempname_.empty())
+                       tempname_.removeFile();
                support::TempFile f("lyxextXXXXXX.tmp");
                f.setAutoRemove(false);
                tempname_ = f.name(); 

Reply via email to