Merge pull request #1555 from ClearlyClaire/glitch-soc/fixes/video-player-crash
[Glitch] Fix WebUI crash when a toot with a playing video gets deleted
This commit is contained in:
		
						commit
						62bf929684
					
				@ -22,13 +22,20 @@ export const PICTURE_IN_PICTURE_REMOVE = 'PICTURE_IN_PICTURE_REMOVE';
 | 
				
			|||||||
 * @param {MediaProps} props
 | 
					 * @param {MediaProps} props
 | 
				
			||||||
 * @return {object}
 | 
					 * @return {object}
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
export const deployPictureInPicture = (statusId, accountId, playerType, props) => ({
 | 
					export const deployPictureInPicture = (statusId, accountId, playerType, props) => {
 | 
				
			||||||
 | 
					  return (dispatch, getState) => {
 | 
				
			||||||
 | 
					    // Do not open a player for a toot that does not exist
 | 
				
			||||||
 | 
					    if (getState().hasIn(['statuses', statusId])) {
 | 
				
			||||||
 | 
					      dispatch({
 | 
				
			||||||
        type: PICTURE_IN_PICTURE_DEPLOY,
 | 
					        type: PICTURE_IN_PICTURE_DEPLOY,
 | 
				
			||||||
        statusId,
 | 
					        statusId,
 | 
				
			||||||
        accountId,
 | 
					        accountId,
 | 
				
			||||||
        playerType,
 | 
					        playerType,
 | 
				
			||||||
        props,
 | 
					        props,
 | 
				
			||||||
});
 | 
					      });
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					  };
 | 
				
			||||||
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/*
 | 
					/*
 | 
				
			||||||
 * @return {object}
 | 
					 * @return {object}
 | 
				
			||||||
 | 
				
			|||||||
@ -1,4 +1,5 @@
 | 
				
			|||||||
import { PICTURE_IN_PICTURE_DEPLOY, PICTURE_IN_PICTURE_REMOVE } from 'flavours/glitch/actions/picture_in_picture';
 | 
					import { PICTURE_IN_PICTURE_DEPLOY, PICTURE_IN_PICTURE_REMOVE } from 'flavours/glitch/actions/picture_in_picture';
 | 
				
			||||||
 | 
					import { TIMELINE_DELETE } from 'flavours/glitch/actions/timelines';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
const initialState = {
 | 
					const initialState = {
 | 
				
			||||||
  statusId: null,
 | 
					  statusId: null,
 | 
				
			||||||
@ -16,6 +17,8 @@ export default function pictureInPicture(state = initialState, action) {
 | 
				
			|||||||
    return { statusId: action.statusId, accountId: action.accountId, type: action.playerType, ...action.props };
 | 
					    return { statusId: action.statusId, accountId: action.accountId, type: action.playerType, ...action.props };
 | 
				
			||||||
  case PICTURE_IN_PICTURE_REMOVE:
 | 
					  case PICTURE_IN_PICTURE_REMOVE:
 | 
				
			||||||
    return { ...initialState };
 | 
					    return { ...initialState };
 | 
				
			||||||
 | 
					  case TIMELINE_DELETE:
 | 
				
			||||||
 | 
					    return (state.statusId === action.id) ? { ...initialState } : state;
 | 
				
			||||||
  default:
 | 
					  default:
 | 
				
			||||||
    return state;
 | 
					    return state;
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user