diff options
| author | Marc Jeanmougin <marc@jeanmougin.fr> | 2017-02-28 22:07:32 +0000 |
|---|---|---|
| committer | Marc Jeanmougin <marcjeanmougin@free.fr> | 2017-02-28 22:07:32 +0000 |
| commit | dbe9eae8b96400c233e21d4b47046345ecbea26e (patch) | |
| tree | 75c36c494ad4dd7131b178fed97d85413d394978 /src/object-set.h | |
| parent | merge minor refactoring (diff) | |
| download | inkscape-dbe9eae8b96400c233e21d4b47046345ecbea26e.tar.gz inkscape-dbe9eae8b96400c233e21d4b47046345ecbea26e.zip | |
Makes selection complexity linear in the number of selected objects instead of quadratic due to too many signals sent
Fixed bugs:
- https://launchpad.net/bugs/1666714
(bzr r15556)
Diffstat (limited to 'src/object-set.h')
| -rw-r--r-- | src/object-set.h | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/object-set.h b/src/object-set.h index 7c224f640..02259824c 100644 --- a/src/object-set.h +++ b/src/object-set.h @@ -143,8 +143,9 @@ public: * Add an SPObject to the set of selected objects. * * @param obj the SPObject to add + * @param nosignal true if no signals should be sent */ - bool add(SPObject* object); + bool add(SPObject* object, bool nosignal = false); /** * Add an XML node's SPObject to the set of selected objects. @@ -300,9 +301,10 @@ public: addList(const std::vector<T*> &objs) { for (auto obj: objs) { if (!includes(obj)) { - add(obj); + add(obj, true); } } + _emitSignals(); } /** Returns the bounding rectangle of the selection. */ |
