1
0
Fork 0
mirror of https://github.com/juce-framework/JUCE.git synced 2026-01-21 01:24:21 +00:00

Fixed a few singletons which had forgotten to call clearSingletonInstance() in their destructors

This commit is contained in:
jules 2017-12-13 09:23:26 +00:00
parent 22ad29baba
commit bc90a41386
4 changed files with 14 additions and 2 deletions

View file

@ -58,9 +58,10 @@ namespace Android
struct Handler
{
JUCE_DECLARE_SINGLETON (Handler, false)
Handler() : nativeHandler (getEnv()->NewObject (JNIHandler, JNIHandler.constructor)) {}
~Handler() { clearSingletonInstance(); }
JUCE_DECLARE_SINGLETON (Handler, false)
bool post (jobject runnable)
{
@ -86,6 +87,7 @@ struct AndroidMessageQueue : private Android::Runnable
~AndroidMessageQueue()
{
jassert (MessageManager::getInstance()->isThisTheMessageThread());
clearSingletonInstance();
}
bool post (MessageManager::MessageBase::Ptr&& message)

View file

@ -60,6 +60,8 @@ public:
{
if (winRTHandle != nullptr)
::FreeLibrary (winRTHandle);
clearSingletonInstance();
}
String hStringToString (HSTRING hstr)

View file

@ -73,6 +73,9 @@ struct ReportingThread;
struct ReportingThreadContainer : public ChangeListener,
public DeletedAtShutdown
{
ReportingThreadContainer() {}
~ReportingThreadContainer() { clearSingletonInstance(); }
void sendReport (String, String&, StringPairArray&);
void changeListenerCallback (ChangeBroadcaster*) override;

View file

@ -763,6 +763,11 @@ private:
tipInvocation.CoCreateInstance (ITipInvocation::getCLSID(), CLSCTX_INPROC_HANDLER | CLSCTX_LOCAL_SERVER);
}
~OnScreenKeyboard()
{
clearSingletonInstance();
}
void timerCallback() override
{
stopTimer();