[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