From 211e37866e581612a8c29b304b28f0e64a023ba0 Mon Sep 17 00:00:00 2001 From: Recrown Date: Wed, 22 Aug 2018 19:58:22 -0500 Subject: [PATCH] added a few synchronizing points --- .../zero1hd/rhythmbullet/audio/MusicController.java | 1 + .../desktop/screens/main/MusicSelectionPage.java | 12 +++++++----- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/core/src/zero1hd/rhythmbullet/audio/MusicController.java b/core/src/zero1hd/rhythmbullet/audio/MusicController.java index 4f70ba8..fbcf44d 100755 --- a/core/src/zero1hd/rhythmbullet/audio/MusicController.java +++ b/core/src/zero1hd/rhythmbullet/audio/MusicController.java @@ -153,6 +153,7 @@ public class MusicController extends Observable implements OnCompletionListener, musicHeader = null; if (music != null) { music.dispose(); + music = null; } if (currentlyPlayingIndex < 0) { currentlyPlayingIndex = musicList.getTotal()-1; diff --git a/desktop/src/zero1hd/rhythmbullet/desktop/screens/main/MusicSelectionPage.java b/desktop/src/zero1hd/rhythmbullet/desktop/screens/main/MusicSelectionPage.java index 02be40d..a0b54b7 100755 --- a/desktop/src/zero1hd/rhythmbullet/desktop/screens/main/MusicSelectionPage.java +++ b/desktop/src/zero1hd/rhythmbullet/desktop/screens/main/MusicSelectionPage.java @@ -175,7 +175,7 @@ public class MusicSelectionPage extends Page implements Observer { super.act(delta); } - private void updateList(float delta) { + private synchronized void updateList(float delta) { if (mc.getMusicList().isSearched()) { if (mc.getMusicList().getTotal() != 0) { if (selectables.size() != mmc.size()) { @@ -231,10 +231,12 @@ public class MusicSelectionPage extends Page implements Observer { selectables.setChecked(mc.getCurrentMusicFileHandle()); } } else if (o == mc.getMusicList()) { - if (arg == mc.getMusicList().states.LOADING) { - vGroup.clear(); - selectables.clear(); - musicInfoTable.setToDefault(); + synchronized (this) { + if (arg == mc.getMusicList().states.LOADING) { + vGroup.clear(); + selectables.clear(); + musicInfoTable.setToDefault(); + } } } }