[Development] Which changes are suitable for 5.6?

Gunnar Roth gunnar.roth at gmx.de
Sat Aug 13 20:30:39 CEST 2016


Hi Thiago,
thanks for you answers.

> Am 13.08.2016 um 20:05 schrieb Thiago Macieira <thiago.macieira at intel.com>:
> 
> On sábado, 13 de agosto de 2016 18:08:16 PDT Gunnar Roth wrote:
>> 1. category is just adding code, which does not influence current
>> code. 
>> a. adding qAsConst in qgolbal.h. That is actually something i really
>> like to have in qt 5.6, because it is very useful and has no risk. 
> 
> Except that it's impossible. For the feature to work, we need rvalue 
> references to prevent wrong use. We can't do that in 5.6 because it doesn't 
> require C++11.
Hmm ok, as that works with vs 2012 ( and wec2013) I didn’t think about that. But even vs2010 has this.
But ok there may be other compilers , which I don’t have knowledge about then.
> 
>> b. adding EditorFont to qplatformtheme.h enumeration ,has  also no risk. 
> 
> Not allowed per Qt API compatibility promise: code compiled with Qt 5.6.x must 
> run just fine with Qt 5.6.y even if y < x.
Well thats something I honestly di not know before. So that means something compiled 
with qt 5.6.2 is able to run with 5.6.0? 

> 
>> c. protect cleanup of QQmlEngine when removing from QQmlDebugConnector in
>> destructor, because quickcontrols2 instantiates it in  a way that it is not
>> registered, but on cleanup crashes when removing as there is no check if it
>> was added at all. I consider that a bug in Qt 5.6.1
> 
> I have no idea about this one.
> 
>>  d. adding QQuickItem::isAncestorOf function to qquickitem.* has also no
>> risk. 
> 
> But violates Qt API policy even worse than adding an enum because it would 
> cause dynamic linker errors.

As I thought API compatibility were like between 5.6 and 5.7 , I didn’t see the problem.

>> e. adding Q_QUICK_PRIVATE_EXPORT to  QQuickStateAction  class in
>> qquickstate_p.h
> 
> That's ok.
> 
>> 2. category is enhancing code but also modifies existing code.
>> 
>>  a.  enhance qml module lookup behavior in a way making things a lot
>> easier.
>> 
>>       qqmlimport.* is changed ( by merging simply the code from 5.7 to do a
>> lookup like this: For example, QtQml.Models 2.0:
>>       - base/QtQml/Models.2.0/qmldir
>>       - base/QtQml.2.0/Models/qmldir
>>       - base/QtQml/Models.2/qmldir
>>       - base/QtQml.2/Models/qmldir
>>       - base/QtQml/Models/qmldir
>>      This is very convenient. quickcontrols2 works without that but only
>> with the default style. quickcontrols1 is jumping through hoops to achieve
>> similar without change qtdeclarative.
> 
> No idea about this.
> 
>>  b. adding MovementDirection property  to QQuickPathView, i just copied
>> qquickpathview.* from qt 5.7. I assume a low risk, but qt 5.7 has the same
>> risk then.
> 
> API policy violation.


Sure now i know. 
Well ok then I will just maintain my patches privately.

Regards,
Gunnar Roth





More information about the Development mailing list