Re: [Development] Is Qt Quick Item properties order significant?

2018-03-09 Thread Mitch Curtis
> -Original Message-
> From: Development [mailto:development-bounces+mitch.curtis=qt.io@qt-
> project.org] On Behalf Of Tomasz Olszak
> Sent: Friday, 9 March 2018 10:13 AM
> Cc: development@qt-project.org
> Subject: Re: [Development] Is Qt Quick Item properties order significant?
> 
> Yes, I would like to thank Simon and Mitch for taking care of this.

I did nothing, all props go to Simon. :)

> The prospect of spending few days on reviewing code and rearranging
> properties was not making me happy :)
> 
> 2018-03-09 1:44 GMT+01:00 Jason H <jh...@gmx.com>:
> > Neat! I've never seen a patch land that fast! I'm going to be happy with 
> > this
> one!
> >
> >
> >> Sent: Thursday, March 08, 2018 at 7:11 AM
> >> From: "Tomasz Olszak" <olszak.tom...@gmail.com>
> >> To: No recipient address
> >> Cc: development@qt-project.org
> >> Subject: Re: [Development] Is Qt Quick Item properties order significant?
> >>
> >> With help from IRC I submitted regression Bug:
> >> https://bugreports.qt.io/browse/QTBUG-66945
> >>
> >>
> >> 2018-03-08 8:25 GMT+01:00 Tomasz Olszak <olszak.tom...@gmail.com>:
> >> > The same behavior is when tmp1 is initialized with C++ function.
> >> > Function is called twice too.
> >> >
> >> > 2018-03-08 8:15 GMT+01:00 Tomasz Olszak
> <olszak.tom...@gmail.com>:
> >> >> Hi thanks for feedback,
> >> >>
> >> >> I agree that putting everything in Component.onCompleted would be
> >> >> worse workaround than changing order but more explicit. On the
> >> >> other hand it is a lot less declarative.
> >> >>
> >> >> In my application I build different kinds of settings using list
> >> >> of objects or strings. I encountered this issue while building
> >> >> list of Time Zones. The Item that contained this list was
> >> >> instantiated in more than a second. Then I realized that the
> >> >> function that creates and filters list is called twice. There are
> >> >> numerous places in my application that uses function to initialize 
> >> >> object
> properties.
> >> >>
> >> >> Moreover if I change tmp0 to: "property int tmp0: tmp1 + 1"
> >> >> getTmp1Value is still called twice which seems like a bug.
> >> >> AFAIK Qt knows dependencies between bindings because it triggers
> >> >> reevaluation in dependent property has changed. Seems like this
> >> >> dependency is ignored during initialization phase. Depending on
> >> >> complexity and duration of execution of bindings expression
> >> >> instantiation of component can be almost twice longer without any
> explicit cause.
> >> >>
> >> >> Am I right or missing something?
> >> >>
> >> >> 2018-03-08 4:53 GMT+01:00 Jason H <jh...@gmx.com>:
> >> >>>
> >> >>> I can see your point. But tmp1 is not changing during the first
> >> >>> property init, so it won't be evaluated. The way to work around
> >> >>> this order-specifc init is to do it explicitly in a
> >> >>> Component.onCompleted
> >> >>>
> >> >>> Sent: Wednesday, March 07, 2018 at 4:25 AM
> >> >>> From: "Tomasz Olszak" <olszak.tom...@gmail.com>
> >> >>> To: development@qt-project.org
> >> >>> Subject: [Development] Is Qt Quick Item properties order significant?
> >> >>> Hello,
> >> >>>
> >> >>> I'm writing here because I don't know if it is a bug or intended
> behavior and I should look more carefully in docs (haven't found anything
> mentioning it yet).
> >> >>>
> >> >>> Please consider 2 examples (can be pasted anywhere - you will see
> logs from object initialization):
> >> >>> Item {
> >> >>> property int tmp0: getTmp0Value(tmp1)
> >> >>> property int tmp1: getTmp1Value()
> >> >>> function getTmp1Value() {
> >> >>> console.log("getTmp1Value should be called only once and
> before getTmp0Value");
> >> >>> return 1;
> >> >>> }
> >> >>> function getTmp0Value(arg) {
> >> >>> console.log("getTmp0Value sho

Re: [Development] Is Qt Quick Item properties order significant?

2018-03-09 Thread Tomasz Olszak
Yes, I would like to thank Simon and Mitch for taking care of this.

The prospect of spending few days on reviewing code and rearranging
properties was not making me happy :)

2018-03-09 1:44 GMT+01:00 Jason H <jh...@gmx.com>:
> Neat! I've never seen a patch land that fast! I'm going to be happy with this 
> one!
>
>
>> Sent: Thursday, March 08, 2018 at 7:11 AM
>> From: "Tomasz Olszak" <olszak.tom...@gmail.com>
>> To: No recipient address
>> Cc: development@qt-project.org
>> Subject: Re: [Development] Is Qt Quick Item properties order significant?
>>
>> With help from IRC I submitted regression Bug:
>> https://bugreports.qt.io/browse/QTBUG-66945
>>
>>
>> 2018-03-08 8:25 GMT+01:00 Tomasz Olszak <olszak.tom...@gmail.com>:
>> > The same behavior is when tmp1 is initialized with C++ function.
>> > Function is called twice too.
>> >
>> > 2018-03-08 8:15 GMT+01:00 Tomasz Olszak <olszak.tom...@gmail.com>:
>> >> Hi thanks for feedback,
>> >>
>> >> I agree that putting everything in Component.onCompleted would be
>> >> worse workaround
>> >> than changing order but more explicit. On the other hand it is a lot
>> >> less declarative.
>> >>
>> >> In my application I build different kinds of settings using list of 
>> >> objects or
>> >> strings. I encountered this issue while building list of Time Zones. The 
>> >> Item
>> >> that contained this list was instantiated in more than a second. Then I 
>> >> realized
>> >> that the function that creates and filters list is called twice. There are
>> >> numerous places in my application that uses function to initialize object
>> >> properties.
>> >>
>> >> Moreover if I change tmp0 to: "property int tmp0: tmp1 + 1"
>> >> getTmp1Value is still called twice which seems like a bug.
>> >> AFAIK Qt knows dependencies between bindings because it triggers 
>> >> reevaluation
>> >> in dependent property has changed. Seems like this dependency is ignored 
>> >> during
>> >> initialization phase. Depending on complexity and duration of execution of
>> >> bindings expression instantiation of component can be almost twice longer
>> >> without any explicit cause.
>> >>
>> >> Am I right or missing something?
>> >>
>> >> 2018-03-08 4:53 GMT+01:00 Jason H <jh...@gmx.com>:
>> >>>
>> >>> I can see your point. But tmp1 is not changing during the first property 
>> >>> init, so it won't be evaluated. The way to work around this 
>> >>> order-specifc init is to do it explicitly in a Component.onCompleted
>> >>>
>> >>> Sent: Wednesday, March 07, 2018 at 4:25 AM
>> >>> From: "Tomasz Olszak" <olszak.tom...@gmail.com>
>> >>> To: development@qt-project.org
>> >>> Subject: [Development] Is Qt Quick Item properties order significant?
>> >>> Hello,
>> >>>
>> >>> I'm writing here because I don't know if it is a bug or intended 
>> >>> behavior and I should look more carefully in docs (haven't found 
>> >>> anything mentioning it yet).
>> >>>
>> >>> Please consider 2 examples (can be pasted anywhere - you will see logs 
>> >>> from object initialization):
>> >>> Item {
>> >>> property int tmp0: getTmp0Value(tmp1)
>> >>> property int tmp1: getTmp1Value()
>> >>> function getTmp1Value() {
>> >>> console.log("getTmp1Value should be called only once and before 
>> >>> getTmp0Value");
>> >>> return 1;
>> >>> }
>> >>> function getTmp0Value(arg) {
>> >>> console.log("getTmp0Value should be called only once and aftere 
>> >>> getTmp1Value");
>> >>> return arg + 1;
>> >>> }
>> >>> }
>> >>>
>> >>> And with small modification (order of properties has changed):
>> >>> Item {
>> >>>property int tmp1: getTmp1Value()
>> >>>property int tmp0: getTmp0Value(tmp1)
>> >>>
>> >>> }
>> >>>
>> >>>
>> >>> First one calls getTmp1Value twice, second one - as expected only once. 
>> >>> Seems like when tmp0 is initialized it does not initialize tmp1 first as 
>> >>> dependency but takes expression binding from tmp1 executes it and assign 
>> >>> result to tmp0, then executes the same expression for tmp1 to initialize 
>> >>> it.
>> >>>
>> >>> Is it a bug or do I miss something?
>> >>>
>> >>> Tomek
>> >>>
>> >>>
>> >>> ___ 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] Is Qt Quick Item properties order significant?

2018-03-08 Thread Jason H
Neat! I've never seen a patch land that fast! I'm going to be happy with this 
one!


> Sent: Thursday, March 08, 2018 at 7:11 AM
> From: "Tomasz Olszak" <olszak.tom...@gmail.com>
> To: No recipient address
> Cc: development@qt-project.org
> Subject: Re: [Development] Is Qt Quick Item properties order significant?
>
> With help from IRC I submitted regression Bug:
> https://bugreports.qt.io/browse/QTBUG-66945
> 
> 
> 2018-03-08 8:25 GMT+01:00 Tomasz Olszak <olszak.tom...@gmail.com>:
> > The same behavior is when tmp1 is initialized with C++ function.
> > Function is called twice too.
> >
> > 2018-03-08 8:15 GMT+01:00 Tomasz Olszak <olszak.tom...@gmail.com>:
> >> Hi thanks for feedback,
> >>
> >> I agree that putting everything in Component.onCompleted would be
> >> worse workaround
> >> than changing order but more explicit. On the other hand it is a lot
> >> less declarative.
> >>
> >> In my application I build different kinds of settings using list of 
> >> objects or
> >> strings. I encountered this issue while building list of Time Zones. The 
> >> Item
> >> that contained this list was instantiated in more than a second. Then I 
> >> realized
> >> that the function that creates and filters list is called twice. There are
> >> numerous places in my application that uses function to initialize object
> >> properties.
> >>
> >> Moreover if I change tmp0 to: "property int tmp0: tmp1 + 1"
> >> getTmp1Value is still called twice which seems like a bug.
> >> AFAIK Qt knows dependencies between bindings because it triggers 
> >> reevaluation
> >> in dependent property has changed. Seems like this dependency is ignored 
> >> during
> >> initialization phase. Depending on complexity and duration of execution of
> >> bindings expression instantiation of component can be almost twice longer
> >> without any explicit cause.
> >>
> >> Am I right or missing something?
> >>
> >> 2018-03-08 4:53 GMT+01:00 Jason H <jh...@gmx.com>:
> >>>
> >>> I can see your point. But tmp1 is not changing during the first property 
> >>> init, so it won't be evaluated. The way to work around this order-specifc 
> >>> init is to do it explicitly in a Component.onCompleted
> >>>
> >>> Sent: Wednesday, March 07, 2018 at 4:25 AM
> >>> From: "Tomasz Olszak" <olszak.tom...@gmail.com>
> >>> To: development@qt-project.org
> >>> Subject: [Development] Is Qt Quick Item properties order significant?
> >>> Hello,
> >>>
> >>> I'm writing here because I don't know if it is a bug or intended behavior 
> >>> and I should look more carefully in docs (haven't found anything 
> >>> mentioning it yet).
> >>>
> >>> Please consider 2 examples (can be pasted anywhere - you will see logs 
> >>> from object initialization):
> >>> Item {
> >>> property int tmp0: getTmp0Value(tmp1)
> >>> property int tmp1: getTmp1Value()
> >>> function getTmp1Value() {
> >>> console.log("getTmp1Value should be called only once and before 
> >>> getTmp0Value");
> >>> return 1;
> >>> }
> >>> function getTmp0Value(arg) {
> >>> console.log("getTmp0Value should be called only once and aftere 
> >>> getTmp1Value");
> >>> return arg + 1;
> >>> }
> >>> }
> >>>
> >>> And with small modification (order of properties has changed):
> >>> Item {
> >>>property int tmp1: getTmp1Value()
> >>>property int tmp0: getTmp0Value(tmp1)
> >>>
> >>> }
> >>>
> >>>
> >>> First one calls getTmp1Value twice, second one - as expected only once. 
> >>> Seems like when tmp0 is initialized it does not initialize tmp1 first as 
> >>> dependency but takes expression binding from tmp1 executes it and assign 
> >>> result to tmp0, then executes the same expression for tmp1 to initialize 
> >>> it.
> >>>
> >>> Is it a bug or do I miss something?
> >>>
> >>> Tomek
> >>>
> >>>
> >>> ___ 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] Is Qt Quick Item properties order significant?

2018-03-08 Thread Tomasz Olszak
With help from IRC I submitted regression Bug:
https://bugreports.qt.io/browse/QTBUG-66945


2018-03-08 8:25 GMT+01:00 Tomasz Olszak <olszak.tom...@gmail.com>:
> The same behavior is when tmp1 is initialized with C++ function.
> Function is called twice too.
>
> 2018-03-08 8:15 GMT+01:00 Tomasz Olszak <olszak.tom...@gmail.com>:
>> Hi thanks for feedback,
>>
>> I agree that putting everything in Component.onCompleted would be
>> worse workaround
>> than changing order but more explicit. On the other hand it is a lot
>> less declarative.
>>
>> In my application I build different kinds of settings using list of objects 
>> or
>> strings. I encountered this issue while building list of Time Zones. The Item
>> that contained this list was instantiated in more than a second. Then I 
>> realized
>> that the function that creates and filters list is called twice. There are
>> numerous places in my application that uses function to initialize object
>> properties.
>>
>> Moreover if I change tmp0 to: "property int tmp0: tmp1 + 1"
>> getTmp1Value is still called twice which seems like a bug.
>> AFAIK Qt knows dependencies between bindings because it triggers reevaluation
>> in dependent property has changed. Seems like this dependency is ignored 
>> during
>> initialization phase. Depending on complexity and duration of execution of
>> bindings expression instantiation of component can be almost twice longer
>> without any explicit cause.
>>
>> Am I right or missing something?
>>
>> 2018-03-08 4:53 GMT+01:00 Jason H <jh...@gmx.com>:
>>>
>>> I can see your point. But tmp1 is not changing during the first property 
>>> init, so it won't be evaluated. The way to work around this order-specifc 
>>> init is to do it explicitly in a Component.onCompleted
>>>
>>> Sent: Wednesday, March 07, 2018 at 4:25 AM
>>> From: "Tomasz Olszak" <olszak.tom...@gmail.com>
>>> To: development@qt-project.org
>>> Subject: [Development] Is Qt Quick Item properties order significant?
>>> Hello,
>>>
>>> I'm writing here because I don't know if it is a bug or intended behavior 
>>> and I should look more carefully in docs (haven't found anything mentioning 
>>> it yet).
>>>
>>> Please consider 2 examples (can be pasted anywhere - you will see logs from 
>>> object initialization):
>>> Item {
>>> property int tmp0: getTmp0Value(tmp1)
>>> property int tmp1: getTmp1Value()
>>> function getTmp1Value() {
>>> console.log("getTmp1Value should be called only once and before 
>>> getTmp0Value");
>>> return 1;
>>> }
>>> function getTmp0Value(arg) {
>>> console.log("getTmp0Value should be called only once and aftere 
>>> getTmp1Value");
>>> return arg + 1;
>>> }
>>> }
>>>
>>> And with small modification (order of properties has changed):
>>> Item {
>>>property int tmp1: getTmp1Value()
>>>property int tmp0: getTmp0Value(tmp1)
>>>
>>> }
>>>
>>>
>>> First one calls getTmp1Value twice, second one - as expected only once. 
>>> Seems like when tmp0 is initialized it does not initialize tmp1 first as 
>>> dependency but takes expression binding from tmp1 executes it and assign 
>>> result to tmp0, then executes the same expression for tmp1 to initialize it.
>>>
>>> Is it a bug or do I miss something?
>>>
>>> Tomek
>>>
>>>
>>> ___ 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] Is Qt Quick Item properties order significant?

2018-03-07 Thread Tomasz Olszak
The same behavior is when tmp1 is initialized with C++ function.
Function is called twice too.

2018-03-08 8:15 GMT+01:00 Tomasz Olszak <olszak.tom...@gmail.com>:
> Hi thanks for feedback,
>
> I agree that putting everything in Component.onCompleted would be
> worse workaround
> than changing order but more explicit. On the other hand it is a lot
> less declarative.
>
> In my application I build different kinds of settings using list of objects or
> strings. I encountered this issue while building list of Time Zones. The Item
> that contained this list was instantiated in more than a second. Then I 
> realized
> that the function that creates and filters list is called twice. There are
> numerous places in my application that uses function to initialize object
> properties.
>
> Moreover if I change tmp0 to: "property int tmp0: tmp1 + 1"
> getTmp1Value is still called twice which seems like a bug.
> AFAIK Qt knows dependencies between bindings because it triggers reevaluation
> in dependent property has changed. Seems like this dependency is ignored 
> during
> initialization phase. Depending on complexity and duration of execution of
> bindings expression instantiation of component can be almost twice longer
> without any explicit cause.
>
> Am I right or missing something?
>
> 2018-03-08 4:53 GMT+01:00 Jason H <jh...@gmx.com>:
>>
>> I can see your point. But tmp1 is not changing during the first property 
>> init, so it won't be evaluated. The way to work around this order-specifc 
>> init is to do it explicitly in a Component.onCompleted
>>
>> Sent: Wednesday, March 07, 2018 at 4:25 AM
>> From: "Tomasz Olszak" <olszak.tom...@gmail.com>
>> To: development@qt-project.org
>> Subject: [Development] Is Qt Quick Item properties order significant?
>> Hello,
>>
>> I'm writing here because I don't know if it is a bug or intended behavior 
>> and I should look more carefully in docs (haven't found anything mentioning 
>> it yet).
>>
>> Please consider 2 examples (can be pasted anywhere - you will see logs from 
>> object initialization):
>> Item {
>> property int tmp0: getTmp0Value(tmp1)
>> property int tmp1: getTmp1Value()
>> function getTmp1Value() {
>> console.log("getTmp1Value should be called only once and before 
>> getTmp0Value");
>> return 1;
>> }
>> function getTmp0Value(arg) {
>> console.log("getTmp0Value should be called only once and aftere 
>> getTmp1Value");
>> return arg + 1;
>> }
>> }
>>
>> And with small modification (order of properties has changed):
>> Item {
>>property int tmp1: getTmp1Value()
>>property int tmp0: getTmp0Value(tmp1)
>>
>> }
>>
>>
>> First one calls getTmp1Value twice, second one - as expected only once. 
>> Seems like when tmp0 is initialized it does not initialize tmp1 first as 
>> dependency but takes expression binding from tmp1 executes it and assign 
>> result to tmp0, then executes the same expression for tmp1 to initialize it.
>>
>> Is it a bug or do I miss something?
>>
>> Tomek
>>
>>
>> ___ 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] Is Qt Quick Item properties order significant?

2018-03-07 Thread Tomasz Olszak
Hi thanks for feedback,

I agree that putting everything in Component.onCompleted would be
worse workaround
than changing order but more explicit. On the other hand it is a lot
less declarative.

In my application I build different kinds of settings using list of objects or
strings. I encountered this issue while building list of Time Zones. The Item
that contained this list was instantiated in more than a second. Then I realized
that the function that creates and filters list is called twice. There are
numerous places in my application that uses function to initialize object
properties.

Moreover if I change tmp0 to: "property int tmp0: tmp1 + 1"
getTmp1Value is still called twice which seems like a bug.
AFAIK Qt knows dependencies between bindings because it triggers reevaluation
in dependent property has changed. Seems like this dependency is ignored during
initialization phase. Depending on complexity and duration of execution of
bindings expression instantiation of component can be almost twice longer
without any explicit cause.

Am I right or missing something?

2018-03-08 4:53 GMT+01:00 Jason H <jh...@gmx.com>:
>
> I can see your point. But tmp1 is not changing during the first property 
> init, so it won't be evaluated. The way to work around this order-specifc 
> init is to do it explicitly in a Component.onCompleted
>
> Sent: Wednesday, March 07, 2018 at 4:25 AM
> From: "Tomasz Olszak" <olszak.tom...@gmail.com>
> To: development@qt-project.org
> Subject: [Development] Is Qt Quick Item properties order significant?
> Hello,
>
> I'm writing here because I don't know if it is a bug or intended behavior and 
> I should look more carefully in docs (haven't found anything mentioning it 
> yet).
>
> Please consider 2 examples (can be pasted anywhere - you will see logs from 
> object initialization):
> Item {
> property int tmp0: getTmp0Value(tmp1)
> property int tmp1: getTmp1Value()
> function getTmp1Value() {
> console.log("getTmp1Value should be called only once and before 
> getTmp0Value");
> return 1;
> }
> function getTmp0Value(arg) {
> console.log("getTmp0Value should be called only once and aftere 
> getTmp1Value");
> return arg + 1;
> }
> }
>
> And with small modification (order of properties has changed):
> Item {
>property int tmp1: getTmp1Value()
>property int tmp0: getTmp0Value(tmp1)
>
> }
>
>
> First one calls getTmp1Value twice, second one - as expected only once. Seems 
> like when tmp0 is initialized it does not initialize tmp1 first as dependency 
> but takes expression binding from tmp1 executes it and assign result to tmp0, 
> then executes the same expression for tmp1 to initialize it.
>
> Is it a bug or do I miss something?
>
> Tomek
>
>
> ___ 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] Is Qt Quick Item properties order significant?

2018-03-07 Thread Jason H
I can see your point. But tmp1 is not changing during the first property init, so it won't be evaluated. The way to work around this order-specifc init is to do it explicitly in a Component.onCompleted
 

Sent: Wednesday, March 07, 2018 at 4:25 AM
From: "Tomasz Olszak" <olszak.tom...@gmail.com>
To: development@qt-project.org
Subject: [Development] Is Qt Quick Item properties order significant?


Hello,
 

I'm writing here because I don't know if it is a bug or intended behavior and I should look more carefully in docs (haven't found anything mentioning it yet).

 

Please consider 2 examples (can be pasted anywhere - you will see logs from object initialization):
Item {
    property int tmp0: getTmp0Value(tmp1)
    property int tmp1: getTmp1Value()
    function getTmp1Value() {
        console.log("getTmp1Value should be called only once and before getTmp0Value");
        return 1;
    }
    function getTmp0Value(arg) {
        console.log("getTmp0Value should be called only once and aftere getTmp1Value");
        return arg + 1;
    }
}
 

And with small modification (order of properties has changed):

Item {

   property int tmp1: getTmp1Value() 

   property int tmp0: getTmp0Value(tmp1)

   

}
 


 

First one calls getTmp1Value twice, second one - as expected only once. Seems like when tmp0 is initialized it does not initialize tmp1 first as dependency but takes _expression_ binding from tmp1 executes it and assign result to tmp0, then executes the same _expression_ for tmp1 to initialize it.

 

Is it a bug or do I miss something?

 

Tomek

 

 

___ 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] Is Qt Quick Item properties order significant?

2018-03-07 Thread Tomasz Olszak
Hello,

I'm writing here because I don't know if it is a bug or intended behavior
and I should look more carefully in docs (haven't found anything mentioning
it yet).

Please consider 2 examples (can be pasted anywhere - you will see logs from
object initialization):
Item {
property int tmp0: getTmp0Value(tmp1)
property int tmp1: getTmp1Value()
function getTmp1Value() {
console.log("getTmp1Value should be called only once and before
getTmp0Value");
return 1;
}
function getTmp0Value(arg) {
console.log("getTmp0Value should be called only once and aftere
getTmp1Value");
return arg + 1;
}
}

And with small modification (order of properties has changed):
Item {
   property int tmp1: getTmp1Value()
   property int tmp0: getTmp0Value(tmp1)
   
}


First one calls getTmp1Value twice, second one - as expected only once.
Seems like when tmp0 is initialized it does not initialize tmp1 first as
dependency but takes expression binding from tmp1 executes it and assign
result to tmp0, then executes the same expression for tmp1 to initialize it.

Is it a bug or do I miss something?

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