[Development] Qt 5.2 header diff: QtWidgets

Jake Petroules jake.petroules at petroules.com
Tue Nov 5 18:39:55 CET 2013


On Nov 5, 2013, at 12:22 PM, Marc Mutz <marc.mutz at kdab.com> wrote:

> On Tuesday, November 05, 2013 17:51:25 Thiago Macieira wrote:
>> On terça-feira, 5 de novembro de 2013 11:09:48, Giuseppe D'Angelo wrote:
>>>>  class Q_WIDGETS_EXPORT QMacCocoaViewContainer : public QWidget
>>>>  {
>>>> 
>>>>      Q_OBJECT
>>>> 
>>>>  public:
>>>> -    QMacCocoaViewContainer(void *cocoaViewToWrap, QWidget *parent =
>>>> 0); +    QMacCocoaViewContainer(NSView *cocoaViewToWrap, QWidget
>>>> *parent = 0);
>>>> 
>>>>      virtual ~QMacCocoaViewContainer();
>>>> 
>>>> -    void setCocoaView(void *cocoaViewToWrap);
>>>> -    void *cocoaView() const;
>>>> +    void setCocoaView(NSView *view);
>>>> +    NSView *cocoaView() const;
>>>> 
>>>>  private:
>>>>      Q_DECLARE_PRIVATE(QMacCocoaViewContainer)
>>> 
>>> Isn't this binary and source incompatible?
>> 
>> Yes.
>> 
>> Technically speaking, the cocoaView() const member is still binary
>> compatible because we're talking about a Mac here and we know its ABI does
>> not encode return types (except for template functions, which this one
>> isn't).
> 
> And it very probably is source compatible, because assignemnt to void* still 
> works, and casts to NSView*, too.
> 
>> But the constructor and the setter are definitely binary incompatible.
> 
> But can be overloaded on the new types, right.

Does this 100% NEED to be reverted? It wasn't even functional until 5.2 IIRC.

I really hope this does not have to wait until 6.0, it was a great improvement in usability.
-- 
Jake Petroules
Chief Technology Officer
Petroules Corporation · www.petroules.com
Email: jake.petroules at petroules.com

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.qt-project.org/pipermail/development/attachments/20131105/ec813b3a/attachment.html>


More information about the Development mailing list