Rene, New findings…
After printing the pointer with NSLog(“%@“, ptr); I have found that the pointer is actually for a NSView Unfortunately, when I create a QWindow::fromWinId((Wid)ptr), the program crashes… I have been inspecting QWindow and in case of qcocoa, it is actually expecting a NSView to be passed. Crashed Thread: 0 Dispatch queue: com.apple.main-thread Exception Type: EXC_BAD_ACCESS (SIGSEGV) Exception Codes: KERN_INVALID_ADDRESS at 0x0000002b00000000 VM Regions Near 0x2b00000000: MALLOC_LARGE (reserved 000000012ddd0000-0000000423db6000 [ 11.8G] rw-/rwx SM=NUL reserved VM address space (unallocated) --> __TEXT 0000123400000000-0000123400509000 [ 5156K] r-x/rwx SM=COW /System/Library/Extensions/AppleIntelHD5000GraphicsGLDriver.bundle/Contents/MacOS/AppleIntelHD5000GraphicsGLDriver Thread 0 Crashed:: Dispatch queue: com.apple.main-thread 0 libsystem_c.dylib 0x00007fff8a9ab152 strlen + 18 1 org.qt-project.QtCore 0x00000001204def27 QCoreApplication::arguments() + 199 2 org.qt-project.QtQuick 0x000000011f933d76 0x11f8a4000 + 589174 3 org.qt-project.QtQuick 0x000000011f934299 QSGContext::createWindowManager() + 9 4 org.qt-project.QtQuick 0x000000011f9494c7 QSGRenderLoop::instance() + 71 5 org.qt-project.QtQuick 0x000000011f97acc3 QQuickWindowPrivate::init(QQuickWindow*, QQuickRenderControl*) + 307 6 org.qt-project.QtQuick 0x000000011fa2639d QQuickView::QQuickView(QWindow*) + 189 7 com.imaginando.Audiolab 0x000000011efd9e3b IVstEditor::open(void*) + 107 (IVstEditor.cpp:34) Nuno Santos Founder / CEO / CTO www.imaginando.pt +351 91 621 69 62 > On 08 Jun 2015, at 16:12, Nuno Santos <nunosan...@imaginando.pt> wrote: > > Rene, > > Answers below... > >> On 08 Jun 2015, at 12:05, René J.V. Bertin <rjvber...@gmail.com >> <mailto:rjvber...@gmail.com>> wrote: >> >> On Monday June 08 2015 11:51:25 Nuno Santos wrote: >> >>> NSWindow *nsw = [[NSWindow alloc] initWithWindowRef:(WindowRef*)ptr]; >> >>> 2015-06-08 11:45:36.795 Live[65095:685104] A Carbon window's attributes >>> couldn't be gotten. >>> 2015-06-08 11:45:36.795 Live[65095:685104] A Carbon window's features >>> couldn't be gotten. >>> 2015-06-08 11:45:36.795 Live[65095:685104] Couldn't get window modality: >>> error=-5600 >> >> %> /usr/bin/macerror -5600 >> Mac OS error -5600 (errInvalidWindowRef): tried to pass a bad WindowRef >> argument > > This is a nice tip. Didn’t knew about macerror tool > >> >> Are you by chance passing a pointer to a WindowRef? > > Well, VST SDK says that in case of windows a HWND will be passed and in case > of Mac OS X a WindowRef will be passed. The open function argument is a void* > >> >> Also, heed the advice at the bottom of this page: >> http://www.cocoabuilder.com/archive/cocoa/298219-initializing-nswindow-with-carbon-window.html >> >> <http://www.cocoabuilder.com/archive/cocoa/298219-initializing-nswindow-with-carbon-window.html> >> . There is a CoreAudio mailing list on which you're likely to get better >> answers, if this has to do with AU. >> >>> 2015-06-08 11:45:36.795 Live[65095:685104] frame - 0.000000 0.000000 >>> 0.000000 0.000000 >>> >>> I’m also not doing anything else with the Window. If I use it as a parent >>> of QQuickView (approach that works on Windows), the host app crashes with >>> the following: >> >> That's a crash in the video driver (with a weird backtrace suggesting it's >> in strlen() called from QCoreApplication::arguments(), or maybe it really is >> in that function). It's bad that it's so easy to provoke that, but it >> probably comes directly from the error above. The window you get isn't valid. >> >> R. >>> >>> Crashed Thread: 0 Dispatch queue: com.apple.main-thread >>> >>> Exception Type: EXC_BAD_ACCESS (SIGSEGV) >>> Exception Codes: KERN_INVALID_ADDRESS at 0x0000002b00000000 >>> >>> VM Regions Near 0x2b00000000: >>> MALLOC_LARGE (reserved 000000012d200000-00000004231e6000 [ 11.8G] >>> rw-/rwx SM=NUL reserved VM address space (unallocated) >>> --> >>> __TEXT 0000123400000000-0000123400509000 [ 5156K] >>> r-x/rwx SM=COW >>> /System/Library/Extensions/AppleIntelHD5000GraphicsGLDriver.bundle/Contents/MacOS/AppleIntelHD5000GraphicsGLDriver >>> >>> Thread 0 Crashed:: Dispatch queue: com.apple.main-thread >>> 0 libsystem_c.dylib 0x00007fff8a9ab152 strlen + 18 >>> 1 org.qt-project.QtCore 0x000000011f4f6f27 >>> QCoreApplication::arguments() + 199 >>> 2 org.qt-project.QtQuick 0x000000011e94bd76 0x11e8bc000 + 589174 >>> 3 org.qt-project.QtQuick 0x000000011e94c299 >>> QSGContext::createWindowManager() + 9 >>> 4 org.qt-project.QtQuick 0x000000011e9614c7 >>> QSGRenderLoop::instance() + 71 >>> 5 org.qt-project.QtQuick 0x000000011e992cc3 >>> QQuickWindowPrivate::init(QQuickWindow*, QQuickRenderControl*) + 307 >>> 6 org.qt-project.QtQuick 0x000000011ea3e39d >>> QQuickView::QQuickView(QWindow*) + 189 >>> 7 com.imaginando.Audiolab 0x000000011dff1e1b >>> IVstEditor::open(void*) + 107 (IVstEditor.cpp:34) >>> >>> >>> >>> Nuno Santos >>> Founder / CEO / CTO >>> www.imaginando.pt <http://www.imaginando.pt/> >>> +351 91 621 69 62 >>> >>>> On 08 Jun 2015, at 11:36, René J.V. Bertin <rjvber...@gmail.com> wrote: >>>> >>>> On Monday June 08 2015 09:24:56 Nuno Santos wrote: >>>> >>>> Hi Nuno: >>>> >>>>> I'm trying to instantiate a QWindow inside a Carbon WindowRef, but >>>>> QWindow fromWid method needs a NSView to be passed by parameter and not >>>>> a WindowRef. >>>>> >>>>> I have seen been saying that it is not possible to have a NSView inside >>>>> a CarbonWindow. Maybe someone more experienced in Mac OSX architecture >>>>> could confirm me this. >>>> >>>> Try this: >>>> >>>> https://developer.apple.com/library/mac/documentation/Cocoa/Reference/ApplicationKit/Classes/NSWindow_Class/index.html#//apple_ref/occ/instm/NSWindow/initWithWindowRef: >>>> >>>> Then you send a contentView message to the NSWindow instance you got. Note >>>> that that gives you "the window’s content view, the highest accessible >>>> NSView object in the window’s view hierarchy." If that's not the one you >>>> need, you'll have to figure out how to get the subviews (answer via >>>> google!) and pick the right one. >>>> >>>> R. >>>> >>>> >>>> _______________________________________________ >>>> Interest mailing list >>>> Interest@qt-project.org >>>> http://lists.qt-project.org/mailman/listinfo/interest >>> >> > > _______________________________________________ > Interest mailing list > Interest@qt-project.org <mailto:Interest@qt-project.org> > http://lists.qt-project.org/mailman/listinfo/interest > <http://lists.qt-project.org/mailman/listinfo/interest>
_______________________________________________ Interest mailing list Interest@qt-project.org http://lists.qt-project.org/mailman/listinfo/interest