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
 | 
			
		||||
 * @return {object}
 | 
			
		||||
 */
 | 
			
		||||
export const deployPictureInPicture = (statusId, accountId, playerType, props) => ({
 | 
			
		||||
  type: PICTURE_IN_PICTURE_DEPLOY,
 | 
			
		||||
  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,
 | 
			
		||||
        statusId,
 | 
			
		||||
        accountId,
 | 
			
		||||
        playerType,
 | 
			
		||||
        props,
 | 
			
		||||
      });
 | 
			
		||||
    }
 | 
			
		||||
  };
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
/*
 | 
			
		||||
 * @return {object}
 | 
			
		||||
 | 
			
		||||
@ -1,4 +1,5 @@
 | 
			
		||||
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 = {
 | 
			
		||||
  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 };
 | 
			
		||||
  case PICTURE_IN_PICTURE_REMOVE:
 | 
			
		||||
    return { ...initialState };
 | 
			
		||||
  case TIMELINE_DELETE:
 | 
			
		||||
    return (state.statusId === action.id) ? { ...initialState } : state;
 | 
			
		||||
  default:
 | 
			
		||||
    return state;
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user