From d48db627f3fee4a21364bf0f8de9f9ea56809f3d Mon Sep 17 00:00:00 2001 From: Giuseppe D'Angelo Date: Thu, 16 Sep 2021 14:20:26 +0200 Subject: QVersionNumber: fix iterator/pointer mistake MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The dataFitsInline and setInlineData functions take a pointer/size pair, not an iterator/size pair. The code was working because QList iterators implicitly convert to pointers -- but that's sloppy, just use the list's data() function instead. Do a similar change for the constructor taking an initializer_list, for symmetry. Change-Id: I2cec191620185b3b08169c4051296eb610f14ecf Reviewed-by: Edward Welbourne Reviewed-by: MÃ¥rten Nordheim --- src/corelib/tools/qversionnumber.h | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) (limited to 'src') diff --git a/src/corelib/tools/qversionnumber.h b/src/corelib/tools/qversionnumber.h index 7f530b4b98..65f0952cd9 100644 --- a/src/corelib/tools/qversionnumber.h +++ b/src/corelib/tools/qversionnumber.h @@ -93,8 +93,8 @@ class QVersionNumber SegmentStorage(const QList &seg) { - if (dataFitsInline(seg.begin(), seg.size())) - setInlineData(seg.begin(), seg.size()); + if (dataFitsInline(seg.data(), seg.size())) + setInlineData(seg.data(), seg.size()); else pointer_segments = new QList(seg); } @@ -136,15 +136,15 @@ class QVersionNumber explicit SegmentStorage(QList &&seg) { - if (dataFitsInline(seg.begin(), seg.size())) - setInlineData(seg.begin(), seg.size()); + if (dataFitsInline(seg.data(), seg.size())) + setInlineData(seg.data(), seg.size()); else pointer_segments = new QList(std::move(seg)); } SegmentStorage(std::initializer_list args) { - if (dataFitsInline(args.begin(), int(args.size()))) { - setInlineData(args.begin(), int(args.size())); + if (dataFitsInline(std::data(args), int(args.size()))) { + setInlineData(std::data(args), int(args.size())); } else { pointer_segments = new QList(args); } -- cgit v1.2.3