Merge pull request #13563 from zfox23/MS16480_disableOverlays

Fix MS16480: Disable active ContextOverlays when disabling ContextOverlayInterface
This commit is contained in:
Zach Fox 2018-07-11 08:50:35 -07:00 committed by GitHub
commit 9729457222
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 10 additions and 2 deletions

View file

@ -97,6 +97,10 @@ static const float CONTEXT_OVERLAY_UNHOVERED_COLORPULSE = 1.0f;
void ContextOverlayInterface::setEnabled(bool enabled) {
_enabled = enabled;
if (!enabled) {
// Destroy any potentially-active ContextOverlays when disabling the interface
createOrDestroyContextOverlay(EntityItemID(), PointerEvent());
}
}
void ContextOverlayInterface::clickDownOnEntity(const EntityItemID& entityItemID, const PointerEvent& event) {

View file

@ -670,12 +670,13 @@ triggerPressMapping.from(Controller.Standard.RT).peek().to(makePressHandler(Cont
triggerPressMapping.from(Controller.Standard.LT).peek().to(makePressHandler(Controller.Standard.LeftHand));
function tabletVisibilityChanged() {
if (!tablet.tabletShown) {
if (!tablet.tabletShown && onPalScreen) {
ContextOverlay.enabled = true;
tablet.gotoHomeScreen();
}
}
var wasOnPalScreen = false;
var onPalScreen = false;
var PAL_QML_SOURCE = "hifi/Pal.qml";
function onTabletButtonClicked() {
@ -706,6 +707,7 @@ function wireEventBridge(on) {
}
function onTabletScreenChanged(type, url) {
wasOnPalScreen = onPalScreen;
onPalScreen = (type === "QML" && url === PAL_QML_SOURCE);
wireEventBridge(onPalScreen);
// for toolbar mode: change button to active when window is first openend, false otherwise.
@ -729,7 +731,9 @@ function onTabletScreenChanged(type, url) {
populateNearbyUserList();
} else {
off();
ContextOverlay.enabled = true;
if (wasOnPalScreen) {
ContextOverlay.enabled = true;
}
}
}