goo/GooList.h | 8 ++++---- poppler/GfxState.cc | 3 ++- poppler/Link.cc | 6 ++++-- 3 files changed, 10 insertions(+), 7 deletions(-)
New commits: commit a6929b40d94d92f7583d17bf4befae36eae87631 Author: Adam Reichold <[email protected]> Date: Fri Oct 5 12:45:00 2018 +0200 Remove GooList's reserving constructor since it has only three users and it seems to better to be explicit whether we reserve or resize. diff --git a/goo/GooList.h b/goo/GooList.h index aa6f8850..faf34ade 100644 --- a/goo/GooList.h +++ b/goo/GooList.h @@ -35,9 +35,6 @@ struct GooList : public std::vector<void *> { // Create an empty list. GooList() = default; - // Create an empty list with space for <size> elements. - explicit GooList(int size) { reserve(size); } - // Movable but not copyable GooList(GooList &&other) = default; GooList& operator=(GooList &&other) = default; diff --git a/poppler/GfxState.cc b/poppler/GfxState.cc index c31cc1ff..9d11fc55 100644 --- a/poppler/GfxState.cc +++ b/poppler/GfxState.cc @@ -2977,7 +2977,8 @@ GfxColorSpace *GfxDeviceNColorSpace::copy() { int i; int *mappingA = nullptr; - GooList *sepsCSA = new GooList(sepsCS->getLength()); + GooList *sepsCSA = new GooList(); + sepsCSA->reserve(sepsCS->getLength()); for (i = 0; i < sepsCS->getLength(); i++) { GfxSeparationColorSpace *scs = (GfxSeparationColorSpace *) sepsCS->get(i); if (likely(scs != nullptr)) { diff --git a/poppler/Link.cc b/poppler/Link.cc index 877e5213..e2e309b2 100644 --- a/poppler/Link.cc +++ b/poppler/Link.cc @@ -175,12 +175,14 @@ LinkAction *LinkAction::parseAction(const Object *obj, const GooString *baseURI, } } - actionList = new GooList(1); + actionList = new GooList(); + actionList->reserve(1); actionList->push_back(parseAction(&nextObj, nullptr, seenNextActions)); } else if (nextObj.isArray()) { const Array *a = nextObj.getArray(); const int n = a->getLength(); - actionList = new GooList(n); + actionList = new GooList(); + actionList->reserve(n); for (int i = 0; i < n; ++i) { const Object obj3 = a->get(i); if (!obj3.isDict()) { commit de89d6449cba119fa86908b2771c4c441cb8a503 Author: Adam Reichold <[email protected]> Date: Fri Oct 5 12:29:24 2018 +0200 Do not use non-standard pragma once and do not change semantics of reserving GooList constructor. diff --git a/goo/GooList.h b/goo/GooList.h index 52c8ade4..aa6f8850 100644 --- a/goo/GooList.h +++ b/goo/GooList.h @@ -20,7 +20,8 @@ // //======================================================================== -#pragma once +#ifndef GOO_LIST_H +#define GOO_LIST_H #include <algorithm> #include <vector> @@ -35,7 +36,7 @@ struct GooList : public std::vector<void *> { GooList() = default; // Create an empty list with space for <size> elements. - explicit GooList(int size) : std::vector<void *>(size) {} + explicit GooList(int size) { reserve(size); } // Movable but not copyable GooList(GooList &&other) = default; @@ -63,3 +64,5 @@ inline void deleteGooList(GooList* list) { } delete list; } + +#endif // GOO_LIST_H _______________________________________________ poppler mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/poppler
