[Development] Making Binary Incompatible Changes after Qt 6.0

Volker Hilsheimer volker.hilsheimer at qt.io
Mon Dec 7 16:15:22 CET 2020


> On 7 Dec 2020, at 15:09, Kevin Kofler via Development <development at qt-project.org> wrote:
> 
> Volker Hilsheimer wrote:
>> Given the scale of Qt 6.0 it’s perhaps no surprise that in spite of
>> careful reviews, we are seeing the first API issues popping up, fixing of
>> which would require a breakage of binary compatibility. For example:
>> 
>> https://bugreports.qt.io/browse/QTBUG-87465
> 
> How about just reinstating QAbstractItemModel::setSupportedDragActions 
> instead? That should be binary-compatible with 6.0 and improve source-
> compatibility with Qt 5 at the same time.
> 
>        Kevin Kofler


It is wrong to let clients of the model set the supportedDragActions without knowing or caring whether the model has implemented support for those drag actions.

If we want a setter to solve this problem, then it might be best to add them to the item widget classes, where we know exactly what the model supports. But the item widget classes do provide a comprehensive virtual interface, so making one of those a setter is somewhat inconsistent.

Volker





More information about the Development mailing list