commit 82516e356bc4b78b466c029bd34a3aeee298ebfa
Author: Jean-Marc Lasgouttes <[email protected]>
Date:   Tue Sep 18 23:18:17 2018 +0200

    Use std::move in InsetText::updateBuffer for notes and friends
    
    Avoid as much as possible to do full copies of all counters, since
    that can be expensive. Unfortunately, it is only posible when we want
    to restore the saved counters.
    
    An earlier version (05d3a649) defined swap() for Counter, but caused
    problems on windows.
    
    Part of bug #5973.
---
 src/insets/InsetText.cpp |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/insets/InsetText.cpp b/src/insets/InsetText.cpp
index 74f60e4..107753e 100644
--- a/src/insets/InsetText.cpp
+++ b/src/insets/InsetText.cpp
@@ -814,13 +814,13 @@ void InsetText::updateBuffer(ParIterator const & it, 
UpdateType utype)
                // Note that we do not need to call:
                //      tclass.counters().clearLastLayout()
                // since we are saving and restoring the existing counters, etc.
-               Counters const savecnt = tclass.counters();
+               Counters savecnt = tclass.counters();
                tclass.counters().reset();
                // we need float information even in note insets (#9760)
                tclass.counters().current_float(savecnt.current_float());
                tclass.counters().isSubfloat(savecnt.isSubfloat());
                buffer().updateBuffer(it2, utype);
-               tclass.counters() = savecnt;
+               tclass.counters() = move(savecnt);
        }
 }
 

Reply via email to