Application lockup

To make a short story long :wink: :
I have a jucer-derived application with drag-drop from a list. Rather frequently, the app locks up when dropping an item to a target, looping forever in the while-loop at juce_Timer.cpp (ln 213 - 225) (I end up there when breaking execution in the debugger). I had no idea what Timer it was so I added a name to the Timer class, and I found out that it was FadeOutProxyComponent that is the culprit. First of all, it very probably is I who mess things up. Jules, what am I doing (or not doing) that might cause this lockup? (it happens about 2 out of 10 drag-drop operations).

TIA
/R

Youā€™re barking up the wrong tree there - the Timer thread is always running, so probably has nothing at all to do with it.

Look at the message thread instead, and trace what itā€™s doing - should be easy to see why itā€™s looping.

[quote=ā€œjulesā€]Youā€™re barking up the wrong tree there - the Timer thread is always running, so probably has nothing at all to do with it.

Look at the message thread instead, and trace what itā€™s doing - should be easy to see why itā€™s looping.[/quote]

No barking hereā€¦ but it is the loop above that is endlessly looping, and the Timer object is a FadeOutProxyComponent (related to a drag-drop operation). Not quite sure what the message thread have to do with a component fade-out function?

Of course you were correct. I had two critical sections cross-accessed where the message thread was one of the threads. Handling the update via AyncUpdater solved it.

Thanks Jules for the idea.

Regards,
/R