Merge pull request #10350 from sethalves/fix-vr-2d-vr-tablet-crash

Fix vr 2d vr tablet crash
This commit is contained in:
Andrew Meadows 2017-05-04 10:08:55 -07:00 committed by GitHub
commit 7cb2bff4c5
2 changed files with 9 additions and 3 deletions

View file

@ -65,7 +65,11 @@ Item {
}); });
// pass a reference to the tabletRoot object to the button. // pass a reference to the tabletRoot object to the button.
button.tabletRoot = parent.parent; if (tabletRoot) {
button.tabletRoot = tabletRoot;
} else {
button.tabletRoot = parent.parent;
}
sortButtons(); sortButtons();

View file

@ -231,8 +231,10 @@ void TabletProxy::setToolbarMode(bool toolbarMode) {
connect(tabletRootWindow, &QmlWindowClass::fromQml, this, &TabletProxy::fromQml); connect(tabletRootWindow, &QmlWindowClass::fromQml, this, &TabletProxy::fromQml);
}); });
} else { } else {
_state = State::Home;
removeButtonsFromToolbar(); removeButtonsFromToolbar();
addButtonsToHomeScreen(); addButtonsToHomeScreen();
emit screenChanged(QVariant("Home"), QVariant(TABLET_SOURCE_URL));
// destroy desktop window // destroy desktop window
if (_desktopWindow) { if (_desktopWindow) {
@ -642,8 +644,8 @@ void TabletProxy::addButtonsToHomeScreen() {
for (auto& buttonProxy : _tabletButtonProxies) { for (auto& buttonProxy : _tabletButtonProxies) {
addButtonProxyToQmlTablet(tablet, buttonProxy.data()); addButtonProxyToQmlTablet(tablet, buttonProxy.data());
} }
auto loader = _qmlTabletRoot->findChild<QQuickItem*>("loader"); auto loader = _qmlTabletRoot->findChild<QQuickItem*>("loader");
QObject::disconnect(loader, SIGNAL(loaded()), this, SLOT(addButtonsToHomeScreen())); QObject::disconnect(loader, SIGNAL(loaded()), this, SLOT(addButtonsToHomeScreen()));
} }
QObject* TabletProxy::getTabletSurface() { QObject* TabletProxy::getTabletSurface() {