Re: [Development] Qt 5.10 schedule etc

2017-08-08 Thread Sean Harmer

Hi,

On 08/08/2017 17:56, Allan Sandfeld Jensen wrote:

On Dienstag, 8. August 2017 10:41:02 CEST Jani Heikkinen wrote:

Hi all,

We should have FF & branching today. Unfortunately we are still fighting
with some issues in qt5.git integration in 'dev' . That's why we haven't
been able to start soft branching yet :( But that doesn't mean we will
officially delay the FF ;)

So let's freeze new features for Qt 5.10 today as planned. Please don't put
any new features in for 5.10 anymore. We will start soft branching
immediately when issues with qt5.git integration in' dev' are solved. And
we will finalize branching ~ after a week from that date when soft
branching starts. So there will be still enough time to get changes in
which are currently suffering these issues in dev.


I would suggest allowing features that couldnt get in due to git issues, still
be allowed to integrate once it is fixed. I don't know of anything specific
that has been caught by that though.


+1 and on a related note, I keep hitting:

Project ERROR: Cannot run compiler 
'/home/qt/work/b2qt/toolchain/sysroots/x86_64-pokysdk-linux/usr/bin/arm-poky-linux-gnueabi/arm-poky-linux-gnueabi-g++'. 
Maybe you forgot to setup the environment?


when attempting to integrate changes to Qt 3D (for the skeletal 
animation feature).


Could somebody with CI-fu take a look please?

Thanks!

Sean

--
Dr Sean Harmer | sean.har...@kdab.com | Managing Director UK
KDAB (UK) Ltd, a KDAB Group company
Tel. +44 (0)1625 809908; Sweden (HQ) +46-563-540090
Mobile: +44 (0)7545 140604
KDAB - Qt Experts
___
Development mailing list
Development@qt-project.org
http://lists.qt-project.org/mailman/listinfo/development


Re: [Development] Calendar Systems proposal

2017-08-08 Thread Thiago Macieira
On Tuesday, 8 August 2017 08:49:36 PDT Edward Welbourne wrote:
> Thiago Macieira (7 August 2017 06:14)
> 
> > ... there are bigger problems with the implementation, starting with
> > QAbstractCalendar having a static protected QMap member.
> 
> That's my fault.  We're going to need some way for QML/V4 to get at
> calendars; and I want to ensure our design leaves scope for client code
[cut]
> 
> Please suggest a better solution (and explain the problem with the
> present solution), either here or in the review.

The problem is the presence of a protected, static, non-POD member. Remove it.

Store the data in a Q_GLOBAL_STATIC in qabstractcalendar.cpp. If you need to 
get a listing or do any kind of searching, add static functions to 
QAbstractCalendar. See QTextCodec for inspiration.

> > The big problem is how you've implemented the new API in QDateTime and
> > QLocale. There's code duplication that cannot be there in QLocale,
> 
> That's probably best addressed by you commenting on the review; I'm not
> sure what duplication you're referring to ("cannot be there" is strong
> language), although I do know about dateTimeToString().  There are a few
> places I expect to find myself doing clean-up in the aftermath of
> getting this all in, but I don't mind doing some of it before-hand.

The big code block that was added in the commit to qlocale.cpp looks like a 
copy & paste of existing code.

> Note, also, that this moves calendar-related data out of QLocale's
> CLDR-derived data blob into calendar-specific data blobs - a step in the
> general direction of making QLocale less monolithic.

That's good.

> > but the way you've removed the duplication in QDateTime also needs
> > changing for performance reasons.
> > 
> > int QDate::year() const
> > {
> > return year(QGregorianCalendar());
> > }
> > 
> > This creates a polymorphic object and makes a call that ends up delegating
> > to it in
> > 
> > if (cal.julianDayToDate(jd, y, m, d))
> 
> Please elaborate: why is this a problem ?  The Gregorian arithmetic
> naturally belongs in a calendar implementation.  The date-time code
> should naturally call it, rather than duplicating it in static functions
> of its own (which have, naturally, been moved to become its methods).

The problems are:
 - creating a polymorphic type (QGregorianCalendar) [performance]
 - passing it by reference instead of a pointer [coding style]
 - calling a non-inline function to do the calculation [performance]

The performance problems are due to performance regressions. I'd rather you 
inverted the deduplication: let QDate have the calculation and call that from 
QGregorianCalendar.

> > The commit also includes changes that look like unrelated clean-ups and
> > will need to be split into different commits.
> 
> Please point these out on the review.  Some of them might not be as
> unrelated as you think - I did a fair bit of pulling separable changes
> out already, rebasing Soroush's work onto the results.  I may well have
> missed some, but there were bits that couldn't be separated.

I will.

> > It's at this point lacking documentation
> 
> Indeed, there remains work to be done.  On the other hand, deciding what
> shape the API should be is worth doing before taking pains over
> documenting every detail - that would all change if we decide we need to
> change the API.

Sure. I just replied here because it looked like it was a request to make it 
before the FF.

> 
> > and there are a couple of coding style mistakes.
> 
> Please note in Gerrit.

s/\w& / &/g

-- 
Thiago Macieira - thiago.macieira (AT) intel.com
  Software Architect - Intel Open Source Technology Center

___
Development mailing list
Development@qt-project.org
http://lists.qt-project.org/mailman/listinfo/development


Re: [Development] Qt 5.10 schedule etc

2017-08-08 Thread Allan Sandfeld Jensen
On Dienstag, 8. August 2017 10:41:02 CEST Jani Heikkinen wrote:
> Hi all,
> 
> We should have FF & branching today. Unfortunately we are still fighting
> with some issues in qt5.git integration in 'dev' . That's why we haven't
> been able to start soft branching yet :( But that doesn't mean we will
> officially delay the FF ;)
> 
> So let's freeze new features for Qt 5.10 today as planned. Please don't put
> any new features in for 5.10 anymore. We will start soft branching
> immediately when issues with qt5.git integration in' dev' are solved. And
> we will finalize branching ~ after a week from that date when soft
> branching starts. So there will be still enough time to get changes in
> which are currently suffering these issues in dev.
> 
I would suggest allowing features that couldnt get in due to git issues, still 
be allowed to integrate once it is fixed. I don't know of anything specific 
that has been caught by that though.

'Allan
___
Development mailing list
Development@qt-project.org
http://lists.qt-project.org/mailman/listinfo/development


Re: [Development] Calendar Systems proposal

2017-08-08 Thread Edward Welbourne
Thiago Macieira (7 August 2017 06:14)
> ... there are bigger problems with the implementation, starting with
> QAbstractCalendar having a static protected QMap member.

That's my fault.  We're going to need some way for QML/V4 to get at
calendars; and I want to ensure our design leaves scope for client code
to provide a calendar of its choice - e.g. so that a developer whose
target market uses a relatively obscure calendar can support them with a
minimum of pain, without Qt itself needing to contain code for every
calendar that ever has been or will be invented.  (Conversely, of
course, it's also worth making it easy to configure which, of the
calendar implementations present in Qt, actually get compiled into any
given build.)  Each calendar implementation needs a way to make itself
visible to QML/V4.

My naive idea for how to solve that was to let each calendar
implementation register a factory for its objects under a name
representing its calendar.  Then QML/V4 (and, for that matter, C++ APIs)
can look up a calendar by name and get a calendar object to use.
Indeed, we can even consult the map for a list of supported calendars,
to populate a UI's drop-down to select which to use.

Please suggest a better solution (and explain the problem with the
present solution), either here or in the review.

> The big problem is how you've implemented the new API in QDateTime and
> QLocale. There's code duplication that cannot be there in QLocale,

That's probably best addressed by you commenting on the review; I'm not
sure what duplication you're referring to ("cannot be there" is strong
language), although I do know about dateTimeToString().  There are a few
places I expect to find myself doing clean-up in the aftermath of
getting this all in, but I don't mind doing some of it before-hand.

Note, also, that this moves calendar-related data out of QLocale's
CLDR-derived data blob into calendar-specific data blobs - a step in the
general direction of making QLocale less monolithic.

> but the way you've removed the duplication in QDateTime also needs
> changing for performance reasons.
>
> int QDate::year() const
> {
> return year(QGregorianCalendar());
> }
>
> This creates a polymorphic object and makes a call that ends up delegating to
> it in
>
> if (cal.julianDayToDate(jd, y, m, d))

Please elaborate: why is this a problem ?  The Gregorian arithmetic
naturally belongs in a calendar implementation.  The date-time code
should naturally call it, rather than duplicating it in static functions
of its own (which have, naturally, been moved to become its methods).

> The commit also includes changes that look like unrelated clean-ups and will
> need to be split into different commits.

Please point these out on the review.  Some of them might not be as
unrelated as you think - I did a fair bit of pulling separable changes
out already, rebasing Soroush's work onto the results.  I may well have
missed some, but there were bits that couldn't be separated.

> It's at this point lacking documentation

Indeed, there remains work to be done.  On the other hand, deciding what
shape the API should be is worth doing before taking pains over
documenting every detail - that would all change if we decide we need to
change the API.

> and there are a couple of coding style mistakes.

Please note in Gerrit.

Eddy.
___
Development mailing list
Development@qt-project.org
http://lists.qt-project.org/mailman/listinfo/development


Re: [Development] State of 5.9 and dev branches

2017-08-08 Thread Simon Hausmann

The dev merge went in, too, so qtbase dev is working again as well. Thanks 
everyone :)




Simon


From: Development  on 
behalf of Simon Hausmann 
Sent: Tuesday, August 8, 2017 9:40:33 AM
To: Thiago Macieira; development@qt-project.org
Subject: Re: [Development] State of 5.9 and dev branches



Thank you Thiago, Sergio and Lars!


qtbase 5.6 and 5.9 are good again.


Simon


From: Development  on 
behalf of Thiago Macieira 
Sent: Monday, August 7, 2017 10:54:22 PM
To: development@qt-project.org
Subject: Re: [Development] State of 5.9 and dev branches

On Monday, 7 August 2017 13:36:19 PDT Simon Hausmann wrote:
> Hi,
>
> The 5.9 fix went in. Would be most grateful if somebody could do the cherry
> pick and merge. I won't have a keyboard until tomorrow late morning.

5.6: https://codereview.qt-project.org/201945
dev: https://codereview.qt-project.org/201946

--
Thiago Macieira - thiago.macieira (AT) intel.com
  Software Architect - Intel Open Source Technology Center

___
Development mailing list
Development@qt-project.org
http://lists.qt-project.org/mailman/listinfo/development
___
Development mailing list
Development@qt-project.org
http://lists.qt-project.org/mailman/listinfo/development


Re: [Development] State of 5.9 and dev branches

2017-08-08 Thread Simon Hausmann
Hi,


I think that's a good idea, although I prefer the approach of making the test 
adapt the expected output relative to the current time instead of replacing the 
library state with mock data.




Simon


From: Development  on 
behalf of Morten Sørvig 
Sent: Tuesday, August 8, 2017 12:11:13 PM
To: development@qt-project.org
Subject: Re: [Development] State of 5.9 and dev branches

Thanks for cleaning this up quickly!

When it comes to testing, do we want to go one step further and
make the tests be completely independent of the current time? We would
like to avoid time bombs like these, and if something _is_ going to
fail at some future date we would like to know so right away.

I coded up a strawman proposal here:
https://codereview.qt-project.org/201989

It adds a RAII class to QTestLib that allows setting the datetime
(as returned by QDateTime) for the duration of a test function:

QTestTimeFixer fixedTime(QDateTime(QDate(2015, 1, 1)).toMSecsSinceEpoch());

This is then used to set the date time to sometime in the past for
tst_qnetworkcookiejar, which makes the unpatched version of it pass.
Going further we could set the time to the future and verify that
the cookies expire as expected.

Morten


> On 8 Aug 2017, at 09:40, Simon Hausmann  wrote:
>
>
> Thank you Thiago, Sergio and Lars!
>
> qtbase 5.6 and 5.9 are good again.
>
> Simon
> From: Development  
> on behalf of Thiago Macieira 
> Sent: Monday, August 7, 2017 10:54:22 PM
> To: development@qt-project.org
> Subject: Re: [Development] State of 5.9 and dev branches
>
> On Monday, 7 August 2017 13:36:19 PDT Simon Hausmann wrote:
> > Hi,
> >
> > The 5.9 fix went in. Would be most grateful if somebody could do the cherry
> > pick and merge. I won't have a keyboard until tomorrow late morning.
>
> 5.6: https://codereview.qt-project.org/201945
> dev: https://codereview.qt-project.org/201946
>
> --
> Thiago Macieira - thiago.macieira (AT) intel.com
>   Software Architect - Intel Open Source Technology Center
>
> ___
> Development mailing list
> Development@qt-project.org
> http://lists.qt-project.org/mailman/listinfo/development
> ___
> Development mailing list
> Development@qt-project.org
> http://lists.qt-project.org/mailman/listinfo/development

___
Development mailing list
Development@qt-project.org
http://lists.qt-project.org/mailman/listinfo/development
___
Development mailing list
Development@qt-project.org
http://lists.qt-project.org/mailman/listinfo/development


Re: [Development] State of 5.9 and dev branches

2017-08-08 Thread Morten Sørvig
Thanks for cleaning this up quickly!

When it comes to testing, do we want to go one step further and 
make the tests be completely independent of the current time? We would
like to avoid time bombs like these, and if something _is_ going to
fail at some future date we would like to know so right away.

I coded up a strawman proposal here: 
https://codereview.qt-project.org/201989

It adds a RAII class to QTestLib that allows setting the datetime
(as returned by QDateTime) for the duration of a test function:

QTestTimeFixer fixedTime(QDateTime(QDate(2015, 1, 1)).toMSecsSinceEpoch());

This is then used to set the date time to sometime in the past for
tst_qnetworkcookiejar, which makes the unpatched version of it pass.
Going further we could set the time to the future and verify that
the cookies expire as expected.

Morten


> On 8 Aug 2017, at 09:40, Simon Hausmann  wrote:
> 
> 
> Thank you Thiago, Sergio and Lars!
> 
> qtbase 5.6 and 5.9 are good again.
> 
> Simon
> From: Development  
> on behalf of Thiago Macieira 
> Sent: Monday, August 7, 2017 10:54:22 PM
> To: development@qt-project.org
> Subject: Re: [Development] State of 5.9 and dev branches
>  
> On Monday, 7 August 2017 13:36:19 PDT Simon Hausmann wrote:
> > Hi,
> > 
> > The 5.9 fix went in. Would be most grateful if somebody could do the cherry
> > pick and merge. I won't have a keyboard until tomorrow late morning.
>  
> 5.6: https://codereview.qt-project.org/201945
> dev: https://codereview.qt-project.org/201946
> 
> -- 
> Thiago Macieira - thiago.macieira (AT) intel.com
>   Software Architect - Intel Open Source Technology Center
> 
> ___
> Development mailing list
> Development@qt-project.org
> http://lists.qt-project.org/mailman/listinfo/development
> ___
> Development mailing list
> Development@qt-project.org
> http://lists.qt-project.org/mailman/listinfo/development

___
Development mailing list
Development@qt-project.org
http://lists.qt-project.org/mailman/listinfo/development


Re: [Development] Qt 5.10 schedule etc

2017-08-08 Thread Jani Heikkinen
Hi all,

We should have FF & branching today. Unfortunately we are still fighting with 
some issues in qt5.git integration in 'dev' . That's why we haven't been able 
to start soft branching yet :( But that doesn't mean we will officially delay 
the FF ;)

So let's freeze new features for Qt 5.10 today as planned. Please don't put any 
new features in for 5.10 anymore. We will start soft branching immediately when 
issues with qt5.git integration in' dev' are solved. And we will finalize 
branching ~ after a week from that date when soft branching starts. So there 
will be still enough time to get changes in which are currently suffering these 
issues in dev. 

br,
Jani



From: Development  on 
behalf of Jani Heikkinen 
Sent: Tuesday, August 1, 2017 9:55 AM
To: development@qt-project.org
Cc: releas...@qt-project.org
Subject: [Development] Qt 5.10 schedule etc

Hi all,
Kindly reminder: According to schedule we should have Qt 5.10 feature freeze 
after a week, see https://wiki.qt.io/Qt_5.10_Release. So it is time to do 
remaining finalizations to 5.10 new features now and focus to bug fixing after 
that. Please fill new features page now as well 
(https://wiki.qt.io/New_Features_in_Qt_5.10); it seems to be quite empty at the 
moment.

And we should start soft branching today. But as Frederik informed yesterday we 
are planning to do some changes to coin infrastructure during this week (see 
http://lists.qt-project.org/pipermail/development/2017-July/030596.html). So 
let's postpone the start of soft branching a bit and do it after coin infra 
changes are in & working. Doing one more branch just now makes these coin 
changes more difficult & most probably causes more delays in the future.

So the plan with 5.10 is following:
1. Let's keep the agreed ff as it is (8.8.2017)
2. Get first 5.10 binary snapshot from 'dev' out as soon as possible
3. Start soft branching (from 'dev' to '5.10') immediately after coin infra 
changes are in & every branch ('5.6', 5.9' & 'dev') is working ok with infra 
changes
4. Finalize branching (~ a week from soft branching)
5. Release Qt 5.10 alpha as soon as possible after the branching. We should be 
able to do this quite quickly; As usual Alpha will be src packages only and we 
can already create needed ones from 'dev'.
   * Most probably we should be able to deliver binary snapshot with alpha as 
well. If not just at same time then quite soon after the release...

br,
Jani


___
Development mailing list
Development@qt-project.org
http://lists.qt-project.org/mailman/listinfo/development
___
Development mailing list
Development@qt-project.org
http://lists.qt-project.org/mailman/listinfo/development


Re: [Development] State of 5.9 and dev branches

2017-08-08 Thread Simon Hausmann

Thank you Thiago, Sergio and Lars!


qtbase 5.6 and 5.9 are good again.


Simon


From: Development  on 
behalf of Thiago Macieira 
Sent: Monday, August 7, 2017 10:54:22 PM
To: development@qt-project.org
Subject: Re: [Development] State of 5.9 and dev branches

On Monday, 7 August 2017 13:36:19 PDT Simon Hausmann wrote:
> Hi,
>
> The 5.9 fix went in. Would be most grateful if somebody could do the cherry
> pick and merge. I won't have a keyboard until tomorrow late morning.

5.6: https://codereview.qt-project.org/201945
dev: https://codereview.qt-project.org/201946

--
Thiago Macieira - thiago.macieira (AT) intel.com
  Software Architect - Intel Open Source Technology Center

___
Development mailing list
Development@qt-project.org
http://lists.qt-project.org/mailman/listinfo/development
___
Development mailing list
Development@qt-project.org
http://lists.qt-project.org/mailman/listinfo/development