Display problem when dragging


#1

I am having a problem I don't how to track down.  I am working on a mixer and have 3 or 4 windows open simultaneously.  One of the windows is a file media player (basically copied from the juce demo).  It works great, but if I drag th window over my other windows it leaves fragments on the window below.  The only way I can get them to repaint is to drag a different window over these and it acts like they an erasure.

The behavior only happens if the player is playing.  If I drag it while paused, it works fine.  I suspect it has something to do with the fact that the windows is being panted by the scrolling graph while dragging so the paints are not fast enough to keep up with the moving windows.  I tried to implent a realtime fft and this does the same thing if the display is changing while I drag the window.

Any ideas about why this happens and how I can resolve it?

Mark


#2

Sounds like you've got a component where you've called setOpaque (true) but you aren't actually overwriting everything in the window with it's paint() callback?


#3

I do have SetOpaque(true) on some.  I just changed them all to SetOpaque(false), no behavior change.  I tried commenting them out, still no change.

Mark


#4

Well.. paints will never go wrong like that unless you've messed up somehow, I'm confident that it won't be a bug in the repaint mechanism. The most usual reason is opaque components like I mentioned, or maybe you're blocking your paint callback or throwing an exception in it or something.