> I observed some change too. In my case, a NSView, created on the client
> side ("my side"), and inserted inside a Qt hierarchy, is now released
> automatically by Qt.


That's a bug, please, report it.


Best regards,

    Timur.

________________________________
From: Development <development-bounces+timur.pocheptsov=qt...@qt-project.org> 
on behalf of Philippe <philw...@gmail.com>
Sent: Friday, February 17, 2017 9:28:28 AM
To: development@qt-project.org
Subject: Re: [Development] QMacCocoaViewContainer changes?

I observed some change too. In my case, a NSView, created on the client
side ("my side"), and inserted inside a Qt hierarchy, is now released
automatically by Qt.
Before, I had to release this NSView "manually". When switching to Qt
5.8, the NSView was released twice (client + Qt sides), causing a crash
in OSX code.

Simply not releasing the NSView on the client side, is enough
(apparently so far), to solve the problem.

I did not report a bug, because this looks more like a behavior change
(not documented), than a bug.

Philippe

On Thu, 16 Feb 2017 23:21:52 +0100
René J.V. Bertin <rjvber...@gmail.com> wrote:

> Hello,
>
> Has anything changed in Qt 5.8.0 with the way the QMacCocoaViewContainer 
> class has to be used? I observe the following after updating from 5.7.1 to 
> 5.8.0 :
>
> - Qt Designer crashes when I have Phonon 4.9.x installed with the 
> phonon-backend-vlc git/master backend (https://cgit.kde.org/phonon-vlc.git/).
> - the QMacCocoaViewContainer ctor now also calls 
> QMacCocoaViewContainer::setCocoaView() when a NULL NSView pointer is given.
> - the QMacCocoaViewContainer example no longer releases the native view after 
> passing it to setCocoaView(), despite what the documentation says, and 
> despite the fact that setCocoaView indeed does a retain. Not releasing the 
> VideoView instance in phonon-vlc's VlcMacWidget ctor also prevents the 
> Designer crash but theoretically means the instance is being leaked.
>
> The Designer crash is preceded by the terminal output below and occurs in 
> ~QMacCocoaViewContainer(), when doing [nsview release]. This means it's doing 
> one release too many, as confirmed by the malloc error.
> qt.qpa.cocoa.window: NSView is not QNSView, consider checking for 
> Qt::ForeignWindow
> qt.qpa.cocoa.window: NSView is not QNSView, consider checking for 
> Qt::ForeignWindow
> Designer(97879,0x7fff721fd310) malloc: *** error for object 0x7fc7cf2a3300: 
> pointer being freed was not allocated
> *** set a breakpoint in malloc_error_break to debug
>
>
> Thanks,
> R.
> _______________________________________________
> 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

Reply via email to