diff --git a/src/mod/applications/mod_conference/conference_member.c b/src/mod/applications/mod_conference/conference_member.c index 7862156ae6..28134d1358 100644 --- a/src/mod/applications/mod_conference/conference_member.c +++ b/src/mod/applications/mod_conference/conference_member.c @@ -1055,10 +1055,6 @@ switch_status_t conference_member_del(conference_obj_t *conference, conference_m } #endif - if (member->canvas) { - conference_video_destroy_canvas(&member->canvas); - } - member_fnode = member->fnode; member_sh = member->sh; member->fnode = NULL; @@ -1182,6 +1178,10 @@ switch_status_t conference_member_del(conference_obj_t *conference, conference_m conference_video_find_floor(member, SWITCH_FALSE); conference_video_detach_video_layer(member); + if (member->canvas) { + conference_video_destroy_canvas(&member->canvas); + } + member->conference = NULL; switch_mutex_unlock(conference->member_mutex);