Details
-
Bug
-
Resolution: Incomplete
-
P2: Important
-
None
-
5.7.1, 5.8.0
-
None
-
Mac OSX 10.12 + Xcode 8.2.1 (8C1002)
Description
When QWebEngineView and QMacCococaViewContainer are used in the same layout, the application crashes with EXC_BAD_ACCESS in CrBrowserMain (1).
#include <QtCore> #include <QtWidgets> #include <QMacCocoaViewContainer> #include <QWebEngineView> int main(int argc, char * argv[]) { QApplication app(argc, argv); QMainWindow mainWindow; QWebEngineView *browser = new QWebEngineView; QMacCocoaViewContainer *container = new QMacCocoaViewContainer(0); QSplitter *splitter = new QSplitter; splitter->addWidget(browser); splitter->addWidget(container); mainWindow.setCentralWidget(splitter); mainWindow.show(); return app.exec(); }
On Qt 5.8 the following code crashes when you move the splitter handle:
#include <QtCore> #include <QtWidgets> #include <QMacCocoaViewContainer> #include <QWebEngineView> #include <AppKit/AppKit.h> class CocoaViewContainer : public QMacCocoaViewContainer { public: CocoaViewContainer(QWidget *parent = 0); }; // CocoaViewContainer CocoaViewContainer::CocoaViewContainer(QWidget *parent) : QMacCocoaViewContainer(0, parent) { setAttribute(Qt::WA_DontCreateNativeAncestors); NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init]; NSView *videoView = [[NSView alloc] init]; setCocoaView(videoView); [videoView release]; [pool release]; } int main(int argc, char * argv[]) { qputenv("QT_MAC_WANTS_LAYER", "1"); QApplication app(argc, argv); QCoreApplication::setAttribute(Qt::AA_DontCreateNativeWidgetSiblings, true); QMainWindow mainWindow; QWebEngineView *browser = new QWebEngineView; //browser->setAttribute(Qt::WA_DontCreateNativeAncestors); CocoaViewContainer *container = new CocoaViewContainer; QSplitter *splitter = new QSplitter(Qt::Vertical); splitter->addWidget(container); splitter->addWidget(browser); splitter->setSizes({0, 100}); mainWindow.setCentralWidget(splitter); mainWindow.show(); return app.exec(); }
Attachments
Issue Links
- resulted in
-
QTBUG-58383 QMacCocoaViewContainer soft crash
-
- Closed
-