]> git.lyx.org Git - features.git/commitdiff
Fix crash when cutting and pasting include insets with previewing turned on.
authorAngus Leeming <leeming@lyx.org>
Tue, 16 Sep 2003 21:46:44 +0000 (21:46 +0000)
committerAngus Leeming <leeming@lyx.org>
Tue, 16 Sep 2003 21:46:44 +0000 (21:46 +0000)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@7780 a592a061-630c-0410-9148-cb99ea01b6c8

src/insets/ChangeLog
src/insets/insetinclude.C

index 32a1d5c6ac5cd36247cbc115a3948cf75cd9e126..db776541fa9935c8c76b492b7c9fd671b112643b 100644 (file)
@@ -1,3 +1,8 @@
+2003-09-16  Angus Leeming  <leeming@lyx.org>
+
+       * insetinclude.C (localDispatch): ensure that params_.masterFilename_ is
+       set before trying to generate a preview, else we trigger an assert.
+
 2003-09-16  Angus Leeming  <leeming@lyx.org>
 
        * insetinclude.C (PreviewImpl::parent): return a const reference.
index 7a4d006d23867be5e24f8caefc32660b0bc938a3..96dc8c393cbf5ef580e357671a770948bd88d186 100644 (file)
@@ -145,8 +145,8 @@ dispatch_result InsetInclude::localDispatch(FuncRequest const & cmd)
                InsetInclude::Params p;
                InsetIncludeMailer::string2params(cmd.argument, p);
                if (!p.cparams.getCmdName().empty()) {
+                       p.masterFilename_ = cmd.view()->buffer()->fileName();
                        set(p);
-                       params_.masterFilename_ = cmd.view()->buffer()->fileName();
                        cmd.view()->updateInset(this);
                }
                return DISPATCHED;
@@ -482,7 +482,9 @@ void InsetInclude::validate(LaTeXFeatures & features) const
        string incfile(params_.cparams.getContents());
        string writefile;
 
-       Buffer const & b = *bufferlist.getBuffer(getMasterFilename());
+       Buffer const * buffer_ptr = bufferlist.getBuffer(getMasterFilename());
+       BOOST_ASSERT(buffer_ptr);
+       Buffer const & b = *buffer_ptr;
 
        if (!b.temppath().empty() && !b.niceFile() && !isVerbatim()) {
                incfile = subst(incfile, '/','@');
@@ -622,7 +624,6 @@ void InsetInclude::PreviewImpl::startMonitoring()
 
 void InsetInclude::PreviewImpl::restartLoading()
 {
-       lyxerr << "restartLoading()" << std::endl;
        removePreview();
        if (view())
                view()->updateInset(&parent());