Timer problem


#1

i get this assertion sometimes, when closing a host with a plugin that has a sync thread http://code.google.com/p/sklepseq/source/browse/trunk/xsync.cpp

it says to inform you :slight_smile: so i am.

    void removeTimer (Timer* const t) throw()
    {
#ifdef JUCE_DEBUG
        Timer* tt = firstTimer;
        bool found = false;

        while (tt != 0)
        {
            if (tt == t)
            {
                found = true;
                break;
            }

            tt = tt->next;
        }

        // trying to remove a timer that's not here - shouldn't get to this point,
        // so if you get this assertion, let me know!
        jassert (found);
#endif

#2

Well, that should only ever get hit if something goes very wrong. Maybe you’ve left some dangling objects after the plugin has been closed? First check that you’ve got no memory leaks, and that all your threads have stopped cleanly.


#3

i’ve reached that too, was a reentrant callback from the audio thread which was calling my registered stop callback twice after it already stopped…

very hard to figure out !! as Jules said, double check function calls, maybe you have something that calls your function when it doesn’t (i’ve pushed a DBG(“MyFunctionName”) in every entry point of every functions to check this). also, be sure you don’t have some Threads hanging around…