The branch, master, has been updated.

- Log -----------------------------------------------------------------

commit 2ffd130d2bc4b594ab64327479ace742f119b5ae
Author: Julien Rioux <jri...@lyx.org>
Date:   Sat Jan 12 01:04:07 2013 +0100

    Force BibTeX rerun upon add/remove/change citation (fixes #6955).
    
    Reordering citations is one case where catching "Citation undefined
    on page ..." doesn't catch the need for a bibtex rerun. This patch
    ensures the proper ordering is obtained in pdf output without having
    to resort to closing and reopening the LyX document.

diff --git a/src/insets/InsetCitation.cpp b/src/insets/InsetCitation.cpp
index d5c4353..2778e19 100644
--- a/src/insets/InsetCitation.cpp
+++ b/src/insets/InsetCitation.cpp
@@ -44,7 +44,16 @@ ParamInfo InsetCitation::param_info_;
 
 InsetCitation::InsetCitation(Buffer * buf, InsetCommandParams const & p)
        : InsetCommand(buf, p)
-{}
+{
+       buffer().removeBiblioTempFiles();
+}
+
+
+InsetCitation::~InsetCitation()
+{
+       if (isBufferLoaded())
+               buffer().removeBiblioTempFiles();
+}
 
 
 ParamInfo const & InsetCitation::findInfo(string const & /* cmdName */)
@@ -105,8 +114,10 @@ bool InsetCitation::isCompatibleCommand(string const & cmd)
 
 void InsetCitation::doDispatch(Cursor & cur, FuncRequest & cmd)
 {
-       if (cmd.action() == LFUN_INSET_MODIFY)
+       if (cmd.action() == LFUN_INSET_MODIFY) {
+               buffer().removeBiblioTempFiles();
                cache.recalculate = true;
+       }
        InsetCommand::doDispatch(cur, cmd);
 }
 
diff --git a/src/insets/InsetCitation.h b/src/insets/InsetCitation.h
index 0cdde7b..e29c399 100644
--- a/src/insets/InsetCitation.h
+++ b/src/insets/InsetCitation.h
@@ -31,6 +31,8 @@ class InsetCitation : public InsetCommand
 public:
        ///
        InsetCitation(Buffer * buf, InsetCommandParams const &);
+       ///
+       ~InsetCitation();
 
        /// \name Public functions inherited from Inset class
        //@{

-----------------------------------------------------------------------

Summary of changes:
 src/insets/InsetCitation.cpp |   15 +++++++++++++--
 src/insets/InsetCitation.h   |    2 ++
 2 files changed, 15 insertions(+), 2 deletions(-)


hooks/post-receive
-- 
The LyX Source Repository

Reply via email to