I am receiving the message
…when trying to scroll with the mouse wheel in the “Table Components” section of the juce demo on on OSX 10.6.8.
=====================================
Now I’m not sure if this is related (or just due to my crummy coding), but In my own application I also get the message
…when changing the colour of a text button that is a custom component in a Table Component cell. It occurs somewhere in . .
void TextButton::colourChanged()
{
repaint();
}
…and I narrowed it down to happening somewhere in here (I am using a mmlock from the audio thread - it only occurs when I do this and it only happens on the first time a button paint method is called from the audio thread)
[code]void Component::internalRepaint (int x, int y, int w, int h)
{
// if component methods are being called from threads other than the message
// thread, you’ll need to use a MessageManagerLock object to make sure it’s thread-safe.
CHECK_MESSAGE_MANAGER_IS_LOCKED
if (x < 0)
{
w += x;
x = 0;
}
if (x + w > getWidth())
w = getWidth() - x;
if (w > 0)
{
if (y < 0)
{
h += y;
y = 0;
}
if (y + h > getHeight())
h = getHeight() - y;
if (h > 0)
{
if (parentComponent != nullptr)
{
if (parentComponent->flags.visibleFlag)
{
if (affineTransform == nullptr)
{
parentComponent->internalRepaint (x + getX(), y + getY(), w, h);
}
else
{
const Rectangle<int> r (ComponentHelpers::convertToParentSpace (*this, Rectangle<int> (x, y, w, h)));
parentComponent->internalRepaint (r.getX(), r.getY(), r.getWidth(), r.getHeight());
}
}
}
else if (flags.hasHeavyweightPeerFlag)
{
ComponentPeer* const peer = getPeer();
if (peer != nullptr)
peer->repaint (Rectangle<int> (x, y, w, h));
}
}
}
}[/code]
Thanks for looking. I’ll be happy to provide more info if asked.