]> git.lyx.org Git - lyx.git/blobdiff - src/CutAndPaste.cpp
adjust comment.
[lyx.git] / src / CutAndPaste.cpp
index 610f71caf88284e4f09febaeded123ec3a692db4..6ecc49a4aa138a0075ff752dab43628c58ff58d4 100644 (file)
@@ -221,14 +221,12 @@ pasteSelectionHelper(Cursor & cur, ParagraphList const & parlist,
 
        InsetIterator const i_end = inset_iterator_end(in);
        for (InsetIterator it = inset_iterator_begin(in); it != i_end; ++it) {
-               // Insets store buffer references so need updating.
-               // FIXME This code can probably be deleted. The insets will get copied
-               // when they are pasted, at which point their buffer_ members will get 
-               // set back to zero.
+               // Even though this will also be done later, it has to be done here 
+               // since, e.g., InsetLabel::updateCommand() is going to try to access
+               // the buffer() member.
                it->setBuffer(const_cast<Buffer &>(buffer));
-
                switch (it->lyxCode()) {
+
                case LABEL_CODE: {
                        // check for duplicates
                        InsetCommand & lab = static_cast<InsetCommand &>(*it);
@@ -307,12 +305,12 @@ pasteSelectionHelper(Cursor & cur, ParagraphList const & parlist,
        pit = last_paste;
        pos = pars[last_paste].size();
 
+       // FIXME Should we do it here, or should we let updateLabels() do it?
        // Set paragraph buffers. It's important to do this right away
        // before something calls Inset::buffer() and causes a crash.
        for (pit_type p = startpit; p <= pit; ++p)
                pars[p].setBuffer(const_cast<Buffer &>(buffer));
 
-
        // Join (conditionally) last pasted paragraph with next one, i.e.,
        // the tail of the spliced document paragraph
        if (!empty && last_paste + 1 != pit_type(pars.size())) {