Issue title: Crash after a click on "Beatmap hit sounds"
 Issue body: 
**Describe your problem:** 
>Run the autoplay mode on https://osu.ppy.sh/beatmapsets/654313#osu/1399834
>Exit (long esc press) after the beatmap finished loading and the replay started playing
>Re-run the autoplay mode on the same map
>Enable "beatmap hit sounds" on the right
>Game freezes for about 10s
>Game crashes

Can't reproduce the crash anymore... :( now I only get "unhandled exception" notifications...
bellow the runtime.log when it crashed.

**Screenshots or videos showing encountered issue:** none

**osu!lazer version:** commit e4ff36a5b
 Built with dotnet 2.2.100 on archlinux with the following command:

```
dotnet build --no-restore osu.Desktop /p:TargetFramework=netcoreapp2.2 /p:Configuration=Release /p:GenerateFullPaths=true /m /verbosity:m
```

**Logs:**

stack trace:

```
Unhandled Exception: System.ObjectDisposedException: Disposed Drawables may not have children added.
Object name: 'SkinnableDrawable'.
   at osu.Framework.Graphics.Containers.CompositeDrawable.AddInternal(Drawable drawable)
   at osu.Framework.Configuration.Bindable`1.set_Value(T value)
   at osu.Framework.Lists.WeakList`1.ForEachAlive(Action`1 action)
   at osu.Framework.Configuration.Bindable`1.TriggerValueChange(Boolean propagateToBindings)
   at osu.Framework.Configuration.Bindable`1.set_Value(T value)
   at osu.Framework.Lists.WeakList`1.ForEachAlive(Action`1 action)
   at osu.Framework.Configuration.Bindable`1.TriggerValueChange(Boolean propagateToBindings)
   at osu.Framework.Configuration.Bindable`1.set_Value(T value)
   at osu.Framework.Lists.WeakList`1.ForEachAlive(Action`1 action)
   at osu.Framework.Configuration.Bindable`1.TriggerValueChange(Boolean propagateToBindings)
   at osu.Framework.Configuration.Bindable`1.set_Value(T value)
   at osu.Framework.Graphics.UserInterface.Checkbox.OnClick(ClickEvent e)
   at System.Linq.Enumerable.TryGetFirst[TSource](IEnumerable`1 source, Func`2 predicate, Boolean& found)
   at osu.Framework.Input.MouseButtonEventManager.PropagateMouseButtonEvent(IEnumerable`1 drawables, MouseButtonEvent e)
   at osu.Framework.Input.MouseButtonEventManager.HandleMouseClick(InputState state)
   at osu.Framework.Input.MouseButtonEventManager.HandleButtonStateChange(InputState state, ButtonStateChangeKind kind, Double currentTime)
   at osu.Framework.Input.InputManager.HandleMouseButtonStateChange(ButtonStateChangeEvent`1 e)
   at osu.Framework.Input.UserInputManager.HandleInputStateChange(InputStateChangeEvent inputStateChange)
   at osu.Framework.Input.StateChanges.ButtonInput`1.Apply(InputState state, IInputStateChangeHandler handler)
   at osu.Framework.Input.InputManager.Update()
   at osu.Framework.Input.PassThroughInputManager.Update()
   at osu.Framework.Graphics.Drawable.UpdateSubTree()
   at osu.Framework.Graphics.Containers.CompositeDrawable.UpdateSubTree()
   at osu.Framework.Platform.GameHost.UpdateFrame()
   at osu.Framework.Threading.GameThread.ProcessFrame()
   at osu.Framework.Threading.GameThread.runWork()
--- End of stack trace from previous location where exception was thrown ---
   at osu.Framework.Threading.Scheduler.Update()
   at osu.Framework.Threading.GameThread.ProcessFrame()
   at osu.Framework.Platform.GameHost.<>c__DisplayClass98_0.<Run>b__1(Object <p0>, FrameEventArgs <p1>)
   at osuTK.GameWindow.RaiseUpdateFrame(Stopwatch watch, Double elapsed, Double& timestamp)
   at osuTK.GameWindow.DispatchUpdateFrame(Stopwatch watch)
   at osuTK.GameWindow.Run(Double updates_per_second, Double frames_per_second)
   at osu.Framework.Platform.GameHost.Run(Game game)
   at osu.Desktop.Program.Main(String[] args) in /home/llaurence/Documents/programmes/osu/osu.Desktop/Program.cs:line 46
./r.sh : line 7 :  8968 Abandon                 (core dumped)LD_LIBRARY_PATH="$BIN_PATH" dotnet "$BIN_PATH/osu!.dll"
```

runtime.log:

```
09/01/2019 21:27:11: ----------------------------------------------------------
09/01/2019 21:27:11: Runtime Log for llaurence (LogLevel: Verbose)
09/01/2019 21:27:11: osu 116.69.203.115
09/01/2019 21:27:11: Running on Unix 116.69.203.115, 4 cores
09/01/2019 21:27:11: ----------------------------------------------------------
09/01/2019 21:27:11: GL Initialized
09/01/2019 21:27:11: GL Version:                 3.0 Mesa 18.3.1
09/01/2019 21:27:11: GL Renderer:                Mesa DRI Intel(R) HD Graphics 520 (Skylake GT2)
09/01/2019 21:27:11: GL Shader Language version: 1.30
09/01/2019 21:27:11: GL Vendor:                  Intel Open Source Technology Center
09/01/2019 21:27:11: GL Extensions:              GL_ARB_multisample GL_EXT_abgr GL_EXT_bgra GL_EXT_blend_color GL_EXT_blend_minmax GL_EXT_blend_subtract GL_EXT_copy_texture GL_EXT_subtexture GL_EXT_texture_object GL_EXT_vertex_array GL_EXT_compiled_vertex_array GL_EXT_texture GL_EXT_texture3D GL_IBM_rasterpos_clip GL_ARB_point_parameters GL_EXT_draw_range_elements GL_EXT_packed_pixels GL_EXT_point_parameters GL_EXT_rescale_normal GL_EXT_separate_specular_color GL_EXT_texture_edge_clamp GL_SGIS_generate_mipmap GL_SGIS_texture_border_clamp GL_SGIS_texture_edge_clamp GL_SGIS_texture_lod GL_ARB_framebuffer_sRGB GL_ARB_multitexture GL_EXT_framebuffer_sRGB GL_IBM_multimode_draw_arrays GL_IBM_texture_mirrored_repeat GL_3DFX_texture_compression_FXT1 GL_ARB_texture_cube_map GL_ARB_texture_env_add GL_ARB_transpose_matrix GL_EXT_blend_func_separate GL_EXT_fog_coord GL_EXT_multi_draw_arrays GL_EXT_secondary_color GL_EXT_texture_env_add GL_EXT_texture_filter_anisotropic GL_EXT_texture_lod_bias GL_INGR_blend_func_separate GL_NV_blend_square GL_NV_light_max_exponent GL_NV_texgen_reflection GL_NV_texture_env_combine4 GL_S3_s3tc GL_SUN_multi_draw_arrays GL_ARB_texture_border_clamp GL_ARB_texture_compression GL_EXT_framebuffer_object GL_EXT_texture_compression_s3tc GL_EXT_texture_env_combine GL_EXT_texture_env_dot3 GL_MESA_window_pos GL_NV_packed_depth_stencil GL_NV_texture_rectangle GL_ARB_depth_texture GL_ARB_occlusion_query GL_ARB_shadow GL_ARB_texture_env_combine GL_ARB_texture_env_crossbar GL_ARB_texture_env_dot3 GL_ARB_texture_mirrored_repeat GL_ARB_window_pos GL_EXT_stencil_two_side GL_EXT_texture_cube_map GL_NV_depth_clamp GL_NV_fog_distance GL_APPLE_packed_pixels GL_ARB_draw_buffers GL_ARB_fragment_program GL_ARB_fragment_shader GL_ARB_shader_objects GL_ARB_vertex_program GL_ARB_vertex_shader GL_ATI_draw_buffers GL_ATI_texture_env_combine3 GL_ATI_texture_float GL_EXT_shadow_funcs GL_EXT_stencil_wrap GL_MESA_pack_invert GL_NV_primitive_restart GL_ARB_depth_clamp GL_ARB_fragment_program_shadow GL_ARB_half_float_pixel GL_ARB_occlusion_query2 GL_ARB_point_sprite GL_ARB_shading_language_100 GL_ARB_sync GL_ARB_texture_non_power_of_two GL_ARB_vertex_buffer_object GL_ATI_blend_equation_separate GL_EXT_blend_equation_separate GL_OES_read_format GL_ARB_color_buffer_float GL_ARB_pixel_buffer_object GL_ARB_texture_compression_rgtc GL_ARB_texture_float GL_ARB_texture_rectangle GL_EXT_packed_float GL_EXT_pixel_buffer_object GL_EXT_texture_compression_dxt1 GL_EXT_texture_compression_rgtc GL_EXT_texture_rectangle GL_EXT_texture_sRGB GL_EXT_texture_shared_exponent GL_ARB_framebuffer_object GL_EXT_framebuffer_blit GL_EXT_framebuffer_multisample GL_EXT_packed_depth_stencil GL_APPLE_object_purgeable GL_ARB_vertex_array_object GL_ATI_separate_stencil GL_EXT_draw_buffers2 GL_EXT_draw_instanced GL_EXT_gpu_program_parameters GL_EXT_texture_array GL_EXT_texture_integer GL_EXT_texture_sRGB_decode GL_EXT_timer_query GL_OES_EGL_image GL_ARB_copy_buffer GL_ARB_depth_buffer_float GL_ARB_draw_instanced GL_ARB_half_float_vertex GL_ARB_instanced_arrays GL_ARB_map_buffer_range GL_ARB_texture_rg GL_ARB_texture_swizzle GL_ARB_vertex_array_bgra GL_EXT_texture_swizzle GL_EXT_vertex_array_bgra GL_NV_conditional_render GL_AMD_conservative_depth GL_AMD_depth_clamp_separate GL_AMD_draw_buffers_blend GL_AMD_seamless_cubemap_per_texture GL_AMD_shader_stencil_export GL_ARB_ES2_compatibility GL_ARB_blend_func_extended GL_ARB_debug_output GL_ARB_draw_buffers_blend GL_ARB_draw_elements_base_vertex GL_ARB_explicit_attrib_location GL_ARB_fragment_coord_conventions GL_ARB_provoking_vertex GL_ARB_sample_shading GL_ARB_sampler_objects GL_ARB_seamless_cube_map GL_ARB_shader_stencil_export GL_ARB_shader_texture_lod GL_ARB_texture_cube_map_array GL_ARB_texture_gather GL_ARB_texture_multisample GL_ARB_texture_query_lod GL_ARB_texture_rgb10_a2ui GL_ARB_uniform_buffer_object GL_ARB_vertex_type_2_10_10_10_rev GL_EXT_provoking_vertex GL_EXT_texture_snorm GL_MESA_texture_signed_rgba GL_NV_texture_barrier GL_ARB_draw_indirect GL_ARB_get_program_binary GL_ARB_robustness GL_ARB_separate_shader_objects GL_ARB_shader_bit_encoding GL_ARB_shader_precision GL_ARB_texture_compression_bptc GL_ARB_timer_query GL_ARB_transform_feedback2 GL_ARB_transform_feedback3 GL_AMD_multi_draw_indirect GL_ANGLE_texture_compression_dxt3 GL_ANGLE_texture_compression_dxt5 GL_ARB_compressed_texture_pixel_storage GL_ARB_conservative_depth GL_ARB_internalformat_query GL_ARB_map_buffer_alignment GL_ARB_shader_atomic_counters GL_ARB_shader_image_load_store GL_ARB_shading_language_420pack GL_ARB_shading_language_packing GL_ARB_texture_storage GL_ARB_transform_feedback_instanced GL_EXT_framebuffer_multisample_blit_scaled GL_EXT_transform_feedback GL_AMD_query_buffer_object GL_AMD_shader_trinary_minmax GL_ARB_ES3_compatibility GL_ARB_arrays_of_arrays GL_ARB_clear_buffer_object GL_ARB_compute_shader GL_ARB_copy_image GL_ARB_explicit_uniform_location GL_ARB_fragment_layer_viewport GL_ARB_framebuffer_no_attachments GL_ARB_invalidate_subdata GL_ARB_multi_draw_indirect GL_ARB_program_interface_query GL_ARB_robust_buffer_access_behavior GL_ARB_shader_image_size GL_ARB_shader_storage_buffer_object GL_ARB_stencil_texturing GL_ARB_texture_query_levels GL_ARB_texture_storage_multisample GL_ARB_texture_view GL_ARB_vertex_attrib_binding GL_KHR_debug GL_KHR_robustness GL_KHR_texture_compression_astc_ldr GL_ARB_buffer_storage GL_ARB_clear_texture GL_ARB_indirect_parameters GL_ARB_internalformat_query2 GL_ARB_multi_bind GL_ARB_query_buffer_object GL_ARB_seamless_cubemap_per_texture GL_ARB_shader_draw_parameters GL_ARB_shader_group_vote GL_ARB_texture_mirror_clamp_to_edge GL_ARB_texture_stencil8 GL_ARB_vertex_type_10f_11f_11f_rev GL_EXT_shader_framebuffer_fetch GL_EXT_shader_integer_mix GL_INTEL_performance_query GL_ARB_ES3_1_compatibility GL_ARB_clip_control GL_ARB_conditional_render_inverted GL_ARB_cull_distance GL_ARB_derivative_control GL_ARB_get_texture_sub_image GL_ARB_pipeline_statistics_query GL_ARB_shader_texture_image_samples GL_ARB_texture_barrier GL_ARB_transform_feedback_overflow_query GL_EXT_polygon_offset_clamp GL_KHR_blend_equation_advanced GL_KHR_blend_equation_advanced_coherent GL_KHR_context_flush_control GL_KHR_robust_buffer_access_behavior GL_ARB_fragment_shader_interlock GL_ARB_post_depth_coverage GL_ARB_shader_atomic_counter_ops GL_ARB_shader_ballot GL_ARB_shader_clock GL_EXT_shader_samples_identical GL_KHR_no_error GL_KHR_texture_compression_astc_sliced_3d GL_NV_fragment_shader_interlock GL_MESA_shader_integer_functions GL_ARB_polygon_offset_clamp GL_ARB_texture_filter_anisotropic GL_EXT_shader_framebuffer_fetch_non_coherent GL_INTEL_shader_atomic_float_minmax
09/01/2019 21:27:11: BASS Initialized
09/01/2019 21:27:11: BASS Version:               116.69.203.115
09/01/2019 21:27:11: BASS FX Version:            116.69.203.115
09/01/2019 21:27:11: Device:                     Default
09/01/2019 21:27:11: Drive:                      default
09/01/2019 21:27:17: Screen changed → Intro
09/01/2019 21:27:20: Screen changed → MainMenu
09/01/2019 21:27:24: ButtonSystem's state changed from Initial to TopLevel
09/01/2019 21:27:25: ButtonSystem's state changed from TopLevel to Play
09/01/2019 21:27:26: ButtonSystem's state changed from Play to EnteringMode
09/01/2019 21:27:26: Screen changed → Multiplayer
09/01/2019 21:27:28: Screen changed ← MainMenu
09/01/2019 21:27:29: ButtonSystem's state changed from EnteringMode to TopLevel
09/01/2019 21:27:29: ButtonSystem's state changed from TopLevel to Play
09/01/2019 21:27:30: ButtonSystem's state changed from Play to EnteringMode
09/01/2019 21:27:30: Screen changed → PlaySongSelect
09/01/2019 21:27:30: updating selection with beatmap:52 ruleset:0
09/01/2019 21:27:30: beatmap changed from "nekodex - circles! (peppy) []" to "xi - PEACE BREAKER (Evening) [Marathon/Fallout. 1.1x]"
09/01/2019 21:27:30: working beatmap updated to xi - PEACE BREAKER (Evening) [Marathon/Fallout. 1.1x]
09/01/2019 21:27:31: updating selection with beatmap:57 ruleset:0
09/01/2019 21:27:31: beatmap changed from "xi - PEACE BREAKER (Evening) [Marathon/Fallout. 1.1x]" to "Camellia - Welcome To The Cyphisonia (Mao) [Cipher]"
09/01/2019 21:27:31: working beatmap updated to Camellia - Welcome To The Cyphisonia (Mao) [Cipher]
09/01/2019 21:27:36: updating selection with beatmap:56 ruleset:0
09/01/2019 21:27:36: beatmap changed from "Camellia - Welcome To The Cyphisonia (Mao) [Cipher]" to "Camellia - Dans la mer de son (PoNo) [Maelstrom]"
09/01/2019 21:27:36: working beatmap updated to Camellia - Dans la mer de son (PoNo) [Maelstrom]
09/01/2019 21:27:40: Screen changed → PlayerLoader
09/01/2019 21:27:43: Screen changed ← PlaySongSelect
09/01/2019 21:27:43: working beatmap updated to Camellia - Dans la mer de son (PoNo) [Maelstrom]
09/01/2019 21:27:44: Screen changed → PlayerLoader
09/01/2019 21:27:46: Screen changed ← PlaySongSelect
09/01/2019 21:27:46: working beatmap updated to Camellia - Dans la mer de son (PoNo) [Maelstrom]
09/01/2019 21:27:53: ButtonSystem's state changed from EnteringMode to Initial
09/01/2019 21:28:09: Focus contention triggered by ModSelectOverlay.
09/01/2019 21:28:13: updating selection with beatmap:56 ruleset:3
09/01/2019 21:28:13: ruleset changed from "osu! (osu) ID: 0" to "osu!mania (mania) ID: 3"
09/01/2019 21:28:13: updating selection with beatmap:56 ruleset:3
09/01/2019 21:28:13: working beatmap updated to Camellia - Dans la mer de son (PoNo) [Maelstrom]
09/01/2019 21:28:13: updating selection with beatmap:9 ruleset:3
09/01/2019 21:28:13: beatmap changed from "Camellia - Dans la mer de son (PoNo) [Maelstrom]" to "RAN - Dekat di Hati (REDSHiFT Remix) ([ A v a l o n ]) [Easy]"
09/01/2019 21:28:13: working beatmap updated to RAN - Dekat di Hati (REDSHiFT Remix) ([ A v a l o n ]) [Easy]
09/01/2019 21:28:37: updating selection with beatmap:4 ruleset:3
09/01/2019 21:28:37: beatmap changed from "RAN - Dekat di Hati (REDSHiFT Remix) ([ A v a l o n ]) [Easy]" to "RAN - Dekat di Hati (REDSHiFT Remix) ([ A v a l o n ]) [Maximum]"
09/01/2019 21:28:37: working beatmap updated to RAN - Dekat di Hati (REDSHiFT Remix) ([ A v a l o n ]) [Maximum]
09/01/2019 21:28:39: Screen changed → PlayerLoader
09/01/2019 21:28:42: Screen changed → Player
09/01/2019 21:28:58: Screen changed ← PlayerLoader
09/01/2019 21:28:58: Screen changed ← PlaySongSelect
09/01/2019 21:28:58: working beatmap updated to RAN - Dekat di Hati (REDSHiFT Remix) ([ A v a l o n ]) [Maximum]
09/01/2019 21:29:01: updating selection with beatmap:4 ruleset:0
09/01/2019 21:29:01: ruleset changed from "osu!mania (mania) ID: 3" to "osu! (osu) ID: 0"
09/01/2019 21:29:01: updating selection with beatmap:4 ruleset:0
09/01/2019 21:29:01: working beatmap updated to RAN - Dekat di Hati (REDSHiFT Remix) ([ A v a l o n ]) [Maximum]
09/01/2019 21:29:01: updating selection with beatmap:2 ruleset:0
09/01/2019 21:29:01: beatmap changed from "RAN - Dekat di Hati (REDSHiFT Remix) ([ A v a l o n ]) [Maximum]" to "RAN - Dekat di Hati (REDSHiFT Remix) ([ A v a l o n ]) [Del's Hard]"
09/01/2019 21:29:01: working beatmap updated to RAN - Dekat di Hati (REDSHiFT Remix) ([ A v a l o n ]) [Del's Hard]
09/01/2019 21:29:04: updating selection with beatmap:56 ruleset:0
09/01/2019 21:29:04: beatmap changed from "RAN - Dekat di Hati (REDSHiFT Remix) ([ A v a l o n ]) [Del's Hard]" to "Camellia - Dans la mer de son (PoNo) [Maelstrom]"
09/01/2019 21:29:04: working beatmap updated to Camellia - Dans la mer de son (PoNo) [Maelstrom]
09/01/2019 21:29:06: Focus contention triggered by ModSelectOverlay.
09/01/2019 21:29:12: Screen changed → PlayerLoader
09/01/2019 21:29:22: Screen changed → Player
09/01/2019 21:29:24: Screen changed ← PlayerLoader
09/01/2019 21:29:24: Screen changed ← PlaySongSelect
09/01/2019 21:29:24: working beatmap updated to Camellia - Dans la mer de son (PoNo) [Maelstrom]
09/01/2019 21:29:24: Screen changed ← MainMenu
09/01/2019 21:29:24: ButtonSystem's state changed from Initial to TopLevel
09/01/2019 21:29:27: ButtonSystem's state changed from TopLevel to Play
09/01/2019 21:29:27: ButtonSystem's state changed from Play to EnteringMode
09/01/2019 21:29:27: Screen changed → PlaySongSelect
09/01/2019 21:29:27: updating selection with beatmap:56 ruleset:0
09/01/2019 21:29:27: beatmap changed from "Camellia - Dans la mer de son (PoNo) [Maelstrom]" to "Camellia - Dans la mer de son (PoNo) [Maelstrom]"
09/01/2019 21:29:27: working beatmap updated to Camellia - Dans la mer de son (PoNo) [Maelstrom]
09/01/2019 21:29:30: Focus contention triggered by ModSelectOverlay.
09/01/2019 21:29:33: Screen changed → PlayerLoader
09/01/2019 21:29:35: Unhandled exception has been allowed with 0 more allowable exceptions .
09/01/2019 21:29:35: An unhandled error has occurred.
09/01/2019 21:29:35: System.ObjectDisposedException: Disposed Drawables may not have children added.
09/01/2019 21:29:35: Object name: 'SkinnableDrawable'.
09/01/2019 21:29:35: at osu.Framework.Graphics.Containers.CompositeDrawable.AddInternal(Drawable drawable)
09/01/2019 21:29:35: at osu.Framework.Configuration.Bindable`1.set_Value(T value)
09/01/2019 21:29:35: at osu.Framework.Lists.WeakList`1.ForEachAlive(Action`1 action)
09/01/2019 21:29:35: at osu.Framework.Configuration.Bindable`1.TriggerValueChange(Boolean propagateToBindings)
09/01/2019 21:29:35: at osu.Framework.Configuration.Bindable`1.set_Value(T value)
09/01/2019 21:29:35: at osu.Framework.Lists.WeakList`1.ForEachAlive(Action`1 action)
09/01/2019 21:29:35: at osu.Framework.Configuration.Bindable`1.TriggerValueChange(Boolean propagateToBindings)
09/01/2019 21:29:35: at osu.Framework.Configuration.Bindable`1.set_Value(T value)
09/01/2019 21:29:35: at osu.Framework.Lists.WeakList`1.ForEachAlive(Action`1 action)
09/01/2019 21:29:35: at osu.Framework.Configuration.Bindable`1.TriggerValueChange(Boolean propagateToBindings)
09/01/2019 21:29:35: at osu.Framework.Configuration.Bindable`1.set_Value(T value)
09/01/2019 21:29:35: at osu.Framework.Graphics.UserInterface.Checkbox.OnClick(ClickEvent e)
09/01/2019 21:29:35: at System.Linq.Enumerable.TryGetFirst[TSource](IEnumerable`1 source, Func`2 predicate, Boolean& found)
09/01/2019 21:29:35: at osu.Framework.Input.MouseButtonEventManager.PropagateMouseButtonEvent(IEnumerable`1 drawables, MouseButtonEvent e)
09/01/2019 21:29:35: at osu.Framework.Input.MouseButtonEventManager.HandleMouseClick(InputState state)
09/01/2019 21:29:35: at osu.Framework.Input.MouseButtonEventManager.HandleButtonStateChange(InputState state, ButtonStateChangeKind kind, Double currentTime)
09/01/2019 21:29:35: at osu.Framework.Input.InputManager.HandleMouseButtonStateChange(ButtonStateChangeEvent`1 e)
09/01/2019 21:29:35: at osu.Framework.Input.UserInputManager.HandleInputStateChange(InputStateChangeEvent inputStateChange)
09/01/2019 21:29:35: at osu.Framework.Input.StateChanges.ButtonInput`1.Apply(InputState state, IInputStateChangeHandler handler)
09/01/2019 21:29:35: at osu.Framework.Input.InputManager.Update()
09/01/2019 21:29:35: at osu.Framework.Input.PassThroughInputManager.Update()
09/01/2019 21:29:35: at osu.Framework.Graphics.Drawable.UpdateSubTree()
09/01/2019 21:29:35: at osu.Framework.Graphics.Containers.CompositeDrawable.UpdateSubTree()
09/01/2019 21:29:35: at osu.Framework.Platform.GameHost.UpdateFrame()
09/01/2019 21:29:35: at osu.Framework.Threading.GameThread.ProcessFrame()
09/01/2019 21:29:35: at osu.Framework.Threading.GameThread.runWork()
09/01/2019 21:29:36: Unhandled exception has been denied .
09/01/2019 21:29:36: An unhandled error has occurred.
09/01/2019 21:29:36: System.ObjectDisposedException: Disposed Drawables may not have children added.
09/01/2019 21:29:36: Object name: 'SkinnableDrawable'.
09/01/2019 21:29:36: at osu.Framework.Graphics.Containers.CompositeDrawable.AddInternal(Drawable drawable)
09/01/2019 21:29:36: at osu.Framework.Configuration.Bindable`1.set_Value(T value)
09/01/2019 21:29:36: at osu.Framework.Lists.WeakList`1.ForEachAlive(Action`1 action)
09/01/2019 21:29:36: at osu.Framework.Configuration.Bindable`1.TriggerValueChange(Boolean propagateToBindings)
09/01/2019 21:29:36: at osu.Framework.Configuration.Bindable`1.set_Value(T value)
09/01/2019 21:29:36: at osu.Framework.Lists.WeakList`1.ForEachAlive(Action`1 action)
09/01/2019 21:29:36: at osu.Framework.Configuration.Bindable`1.TriggerValueChange(Boolean propagateToBindings)
09/01/2019 21:29:36: at osu.Framework.Configuration.Bindable`1.set_Value(T value)
09/01/2019 21:29:36: at osu.Framework.Lists.WeakList`1.ForEachAlive(Action`1 action)
09/01/2019 21:29:36: at osu.Framework.Configuration.Bindable`1.TriggerValueChange(Boolean propagateToBindings)
09/01/2019 21:29:36: at osu.Framework.Configuration.Bindable`1.set_Value(T value)
09/01/2019 21:29:36: at osu.Framework.Graphics.UserInterface.Checkbox.OnClick(ClickEvent e)
09/01/2019 21:29:36: at System.Linq.Enumerable.TryGetFirst[TSource](IEnumerable`1 source, Func`2 predicate, Boolean& found)
09/01/2019 21:29:36: at osu.Framework.Input.MouseButtonEventManager.PropagateMouseButtonEvent(IEnumerable`1 drawables, MouseButtonEvent e)
09/01/2019 21:29:36: at osu.Framework.Input.MouseButtonEventManager.HandleMouseClick(InputState state)
09/01/2019 21:29:36: at osu.Framework.Input.MouseButtonEventManager.HandleButtonStateChange(InputState state, ButtonStateChangeKind kind, Double currentTime)
09/01/2019 21:29:36: at osu.Framework.Input.InputManager.HandleMouseButtonStateChange(ButtonStateChangeEvent`1 e)
09/01/2019 21:29:36: at osu.Framework.Input.UserInputManager.HandleInputStateChange(InputStateChangeEvent inputStateChange)
09/01/2019 21:29:36: at osu.Framework.Input.StateChanges.ButtonInput`1.Apply(InputState state, IInputStateChangeHandler handler)
09/01/2019 21:29:36: at osu.Framework.Input.InputManager.Update()
09/01/2019 21:29:36: at osu.Framework.Input.PassThroughInputManager.Update()
09/01/2019 21:29:36: at osu.Framework.Graphics.Drawable.UpdateSubTree()
09/01/2019 21:29:36: at osu.Framework.Graphics.Containers.CompositeDrawable.UpdateSubTree()
09/01/2019 21:29:36: at osu.Framework.Platform.GameHost.UpdateFrame()
09/01/2019 21:29:36: at osu.Framework.Threading.GameThread.ProcessFrame()
09/01/2019 21:29:36: at osu.Framework.Threading.GameThread.runWork()
```

**Computer Specifications:**
arch: x86_64-pc-linux-gnu
cpu: i5-6200U (6th gen skylake, 2 cores, 4 threads)
glx vendor string: Mesa Project and SGI *(no discrete gpu)*
 Comments: 
 Comment 0: Is a result of async disposal. Can reproduce. Fix not so easy.
 Comment 1: commit 3a7d09d6f (with osu-framwork v2019.116.0 and the fix, i think?)
I still have "unhandled exceptions" when reproducing the steps.

For the bug to appear, the map has to load entirely once, then the next time it loads, a click on "beatmap hit sounds" will throw an exception.

[performance.log](https://github.com/ppy/osu/files/2768027/performance.log)
[runtime.log](https://github.com/ppy/osu/files/2768026/runtime.log)

![screenshot-20190117105239](https://user-images.githubusercontent.com/40535137/51310101-cd3a7b80-1a3d-11e9-92af-0e7ccb659491.png)

 Comment 2: Sorry, this one is fixed too.. :s
{'source': 'GithubIssues', 'repo_name_with_owner': 'ppy/osu', 'issue_id': 397584177, 'repo_stars': 11723.0}