Skip to content

Commit c799541

Browse files
committed
Ignore projectChange updates from the VM when not in editor mode
This prevents unnecassary changes that do not matter to the player view because they were made by the project in progress (i.e. made by running the blocks, or by cloud var updates)
1 parent b5b3f33 commit c799541

File tree

1 file changed

+8
-6
lines changed

1 file changed

+8
-6
lines changed

src/lib/vm-listener-hoc.jsx

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -74,10 +74,12 @@ const vmListenerHOC = function (WrappedComponent) {
7474
}
7575
}
7676
handleProjectChanged () {
77-
this.props.onProjectChanged();
77+
if (this.props.shouldEmitUpdates) {
78+
this.props.onProjectChanged();
79+
}
7880
}
7981
handleTargetsUpdate (data) {
80-
if (this.props.shouldEmitTargetsUpdate) {
82+
if (this.props.shouldEmitUpdates) {
8183
this.props.onTargetsUpdate(data);
8284
}
8385
}
@@ -115,7 +117,7 @@ const vmListenerHOC = function (WrappedComponent) {
115117
const {
116118
/* eslint-disable no-unused-vars */
117119
attachKeyboardEvents,
118-
shouldEmitTargetsUpdate,
120+
shouldEmitUpdates,
119121
onBlockDragUpdate,
120122
onGreenFlag,
121123
onKeyDown,
@@ -152,7 +154,7 @@ const vmListenerHOC = function (WrappedComponent) {
152154
onTargetsUpdate: PropTypes.func.isRequired,
153155
onTurboModeOff: PropTypes.func.isRequired,
154156
onTurboModeOn: PropTypes.func.isRequired,
155-
shouldEmitTargetsUpdate: PropTypes.bool,
157+
shouldEmitUpdates: PropTypes.bool,
156158
username: PropTypes.string,
157159
vm: PropTypes.instanceOf(VM).isRequired
158160
};
@@ -161,8 +163,8 @@ const vmListenerHOC = function (WrappedComponent) {
161163
onGreenFlag: () => ({})
162164
};
163165
const mapStateToProps = state => ({
164-
// Do not emit target updates in fullscreen or player only mode
165-
shouldEmitTargetsUpdate: !state.scratchGui.mode.isFullScreen && !state.scratchGui.mode.isPlayerOnly,
166+
// Do not emit target or project updates in fullscreen or player only mode
167+
shouldEmitUpdates: !state.scratchGui.mode.isFullScreen && !state.scratchGui.mode.isPlayerOnly,
166168
vm: state.scratchGui.vm,
167169
username: state.session && state.session.session && state.session.session.user ?
168170
state.session.session.user.username : ''

0 commit comments

Comments
 (0)