Fruity Loops scaling window size issue


#1

I’m experiencing a weird issue when the scaling option is set to either 175% or 350% in Fruity Loops (may happen in other DAWs, but this is the only one I’ve tested). I can easily reproduce the issue with a blank plugin. If I add

DBG("Resized: " << getWidth() << " x " << getHeight());

to the editor resized() function I can see the editor gets resized initially to 400*300, as expected, but I also get a whole load of subsequent resizes which increase the width by 1, going all the way up to 512 * 300.

Looking at the stack trace i can see it gets stuck in loop resizing the editorcompwrapper, which resizes the editor, which resizes the compWrapper etc… :

WindowTest.dll!WindowTestAudioProcessorEditor::resized() Line 41 C++ Symbols loaded.
WindowTest.dll!juce::Component::sendMovedResizedMessages(bool wasMoved, bool wasResized) Line 1192 C++ Symbols loaded.
WindowTest.dll!juce::Component::sendMovedResizedMessagesIfPending() Line 1174 C++ Symbols loaded.
WindowTest.dll!juce::Component::setBounds(int x, int y, int w, int h) Line 1160 C++ Symbols loaded.
WindowTest.dll!juce::Component::setBounds(juce::Rectangle r) Line 1236 C++ Symbols loaded.
WindowTest.dll!JuceVSTWrapper::EditorCompWrapper::resized() Line 1270 C++ Symbols loaded.
WindowTest.dll!juce::Component::sendMovedResizedMessages(bool wasMoved, bool wasResized) Line 1192 C++ Symbols loaded.
WindowTest.dll!juce::Component::sendMovedResizedMessagesIfPending() Line 1174 C++ Symbols loaded.
WindowTest.dll!juce::Component::setBounds(int x, int y, int w, int h) Line 1160 C++ Symbols loaded.
WindowTest.dll!juce::Component::setSize(int w, int h) Line 1217 C++ Symbols loaded.
WindowTest.dll!JuceVSTWrapper::EditorCompWrapper::updateWindowSize() Line 1310 C++ Symbols loaded.
WindowTest.dll!JuceVSTWrapper::EditorCompWrapper::childBoundsChanged(juce::Component * __formal) Line 1283 C++ Symbols loaded.
WindowTest.dll!juce::Component::sendMovedResizedMessages(bool wasMoved, bool wasResized) Line 1209 C++ Symbols loaded.
WindowTest.dll!juce::Component::sendMovedResizedMessagesIfPending() Line 1174 C++ Symbols loaded.
WindowTest.dll!juce::Component::setBounds(int x, int y, int w, int h) Line 1160 C++ Symbols loaded.
WindowTest.dll!juce::Component::setBounds(juce::Rectangle r) Line 1236 C++ Symbols loaded.
WindowTest.dll!JuceVSTWrapper::EditorCompWrapper::resized() Line 1270 C++ Symbols loaded.
WindowTest.dll!juce::Component::sendMovedResizedMessages(bool wasMoved, bool wasResized) Line 1192 C++ Symbols loaded.
WindowTest.dll!juce::Component::sendMovedResizedMessagesIfPending() Line 1174 C++ Symbols loaded.
WindowTest.dll!juce::Component::setBounds(int x, int y, int w, int h) Line 1160 C++ Symbols loaded.
WindowTest.dll!juce::Component::setSize(int w, int h) Line 1217 C++ Symbols loaded.
WindowTest.dll!JuceVSTWrapper::EditorCompWrapper::updateWindowSize() Line 1310 C++ Symbols loaded.
WindowTest.dll!JuceVSTWrapper::EditorCompWrapper::childBoundsChanged(juce::Component * __formal) Line 1283 C++ Symbols loaded.
WindowTest.dll!juce::Component::sendMovedResizedMessages(bool wasMoved, bool wasResized) Line 1209 C++ Symbols loaded.
WindowTest.dll!juce::Component::sendMovedResizedMessagesIfPending() Line 1174 C++ Symbols loaded.
WindowTest.dll!juce::Component::setBounds(int x, int y, int w, int h) Line 1160 C++ Symbols loaded.
WindowTest.dll!juce::Component::setBounds(juce::Rectangle r) Line 1236 C++ Symbols loaded.
WindowTest.dll!JuceVSTWrapper::EditorCompWrapper::resized() Line 1270 C++ Symbols loaded.
WindowTest.dll!juce::Component::sendMovedResizedMessages(bool wasMoved, bool wasResized) Line 1192 C++ Symbols loaded.
WindowTest.dll!juce::Component::sendMovedResizedMessagesIfPending() Line 1174 C++ Symbols loaded.
WindowTest.dll!juce::Component::setBounds(int x, int y, int w, int h) Line 1160 C++ Symbols loaded.
WindowTest.dll!juce::Component::setSize(int w, int h) Line 1217 C++ Symbols loaded.
WindowTest.dll!JuceVSTWrapper::EditorCompWrapper::updateWindowSize() Line 1310 C++ Symbols loaded.
WindowTest.dll!JuceVSTWrapper::EditorCompWrapper::childBoundsChanged(juce::Component * __formal) Line 1283 C++ Symbols loaded.

Anyone else come across this?