libbluray | branch: master | hpi1 <[email protected]> | Fri Apr 25 09:33:56 2014 +0300| [b3a138ffd39c9ed721fd04854be50aad44470d45] | committer: hpi1
EventManager: clean up at shutdown > http://git.videolan.org/gitweb.cgi/libbluray.git/?a=commit;h=b3a138ffd39c9ed721fd04854be50aad44470d45 --- src/libbluray/bdj/java/org/dvb/event/EventManager.java | 14 ++++++++++++++ src/libbluray/bdj/java/org/videolan/Libbluray.java | 1 + 2 files changed, 15 insertions(+) diff --git a/src/libbluray/bdj/java/org/dvb/event/EventManager.java b/src/libbluray/bdj/java/org/dvb/event/EventManager.java index f75bfaf..e7c2194 100644 --- a/src/libbluray/bdj/java/org/dvb/event/EventManager.java +++ b/src/libbluray/bdj/java/org/dvb/event/EventManager.java @@ -44,6 +44,20 @@ public class EventManager implements ResourceServer { return instance; } + public static void shutdown() { + EventManager e; + synchronized (EventManager.class) { + e = instance; + instance = null; + } + if (e != null) { + e.exclusiveUserEventListener.clear(); + e.sharedUserEventListener.clear(); + e.exclusiveAWTEventListener.clear(); + e.resourceStatusEventListeners.clear(); + } + } + public boolean addUserEventListener(UserEventListener listener, ResourceClient client, UserEventRepository userEvents) throws IllegalArgumentException { if (client == null) diff --git a/src/libbluray/bdj/java/org/videolan/Libbluray.java b/src/libbluray/bdj/java/org/videolan/Libbluray.java index 1be3794..f6b61ed 100644 --- a/src/libbluray/bdj/java/org/videolan/Libbluray.java +++ b/src/libbluray/bdj/java/org/videolan/Libbluray.java @@ -138,6 +138,7 @@ public class Libbluray { BDToolkit.shutdownDisc(); SIManagerImpl.shutdown(); IxcRegistry.shutdown(); + EventManager.shutdown(); Status.shutdown(); } catch (Throwable e) { e.printStackTrace(); _______________________________________________ libbluray-devel mailing list [email protected] https://mailman.videolan.org/listinfo/libbluray-devel
