Qt::WindowFlags f = nullptr in framworks headers
Kevin Funk
kfunk at kde.org
Fri Jan 20 08:41:53 UTC 2017
On Friday, 20 January 2017 09:19:21 CET Kevin Funk wrote:
> On Wednesday, 18 January 2017 21:12:07 CET Stephen Kelly wrote:
> > Hello,
> >
> > As a result of the recent porting from 0 to nullptr, we have things like
> >
> > Qt::WindowFlags f = nullptr
Please ignore my reply, haven't seen the discussion having advanced on D3987
already.
Looks like we've already come to an agreement.
Regards,
Kevin
> >
> > in frameworks headers. See for example kruler. That is - enum default
> > parameter values have been ported incorrectly.
> >
> > I don't know if some clang tooling is being used to do the porting, but if
> > so, the tool is buggy.
>
> clang-tidy was used.
>
> I don't see why the tool is buggy.
>
> Example change from kruler.h:
> - explicit KRuler(Qt::Orientation orient, QWidget *parent = 0,
> Qt::WindowFlags f = 0);
> + explicit KRuler(Qt::Orientation orient, QWidget *parent = nullptr,
> Qt::WindowFlags f = nullptr);
>
>
> Both:
> Qt::WindowFlags f = 0, and
> Qt::WindowFlags f = nullptr
>
> call this QFlags [1] ctor:
> QFlags(Zero)
>
> => The porting was correct
>
> If it looks odd, that might be indeed another issue. But from a technical
> this is correct.
>
> As I said on the Diff already, just port it to this if you want to:
> Qt::WindowFlags = {}
>
> Note: I'll be in vacation starting today, for 3 weeks, won't have time to
> implement this.
>
> Regards,
> Kevin
>
>
> [1] QFlags ctors:
>
> Q_DECL_CONSTEXPR inline QFlags(Enum f) Q_DECL_NOTHROW : i(Int(f)) {}
> Q_DECL_CONSTEXPR inline QFlags(Zero = Q_NULLPTR) Q_DECL_NOTHROW : i(0)
> {} Q_DECL_CONSTEXPR inline QFlags(QFlag f) Q_DECL_NOTHROW : i(f) {}
>
> #ifdef Q_COMPILER_INITIALIZER_LISTS
> Q_DECL_CONSTEXPR inline QFlags(std::initializer_list<Enum> flags)
> Q_DECL_NOTHROW
>
> : i(initializer_list_helper(flags.begin(), flags.end())) {}
>
> #endif
>
> > Attempting to build the python bindings now fails because our scripting to
> > generate sip files (or sip itself - I didn't investigate further because
> > it
> > seems obvious that the headers should be fixed to solve the issue) can not
> > handle this.
> >
> > Thanks,
> >
> > Steve.
--
Kevin Funk | kfunk at kde.org | http://kfunk.org
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 163 bytes
Desc: This is a digitally signed message part.
URL: <http://mail.kde.org/pipermail/kde-frameworks-devel/attachments/20170120/4c49eba1/attachment.sig>
More information about the Kde-frameworks-devel
mailing list