My plugin is locking up my DAW

I am in the beginning stages of my first plugin. To start, I am trying to get the PPQ position and display this in my plugin. It works, but it completely locks up the DAW until the plugin is closed. I think this is due to too many repaints being called, but not sure. I’m hoping someone can look at the source (there’s not much) and tell me what the problem is. Thanks.

Edit: To give a better idea of flow.

  1. PluginProcessor.cpp: 130 (processBlock) – Playhead info retrieved.
  2. PluginEditor.cpp: 33 (paint) – Playhead.PPQposition sent to PPQComponent
  3. PPQComponent.cpp: 50 (setPPQ) – PPQposition info set to member variable. Repaint() called.
  4. PPQComponent.cpp: 30 (paint) – Painting logic

I think repainting a child component also repaints the parent, keeping me stuck in paint() forever. I moved the PPQ logic out of paint() and into a Timer. That is working nicely.