DocumentWindow's title bar color bug


#1

Bug setting a transparent color (like Colours::transparentWhite o transparentBlack) to the DocumentWindow’s title bar.
I only tested this on Win XP Pro SP3.

Stack:

m.exe!juce::DropShadower::setOwner(juce::Component * componentToFollow) Line 136 + 0x68 bytes C++
m.exe!juce::HWNDComponentPeer::HWNDComponentPeer(juce::Component * const component, const int windowStyleFlags, HWND__ * parentToAddTo_) Line 507 C++
m.exe!juce::Component::createNewPeer(int styleFlags, void * nativeWindowToAttachTo) Line 2683 + 0x31 bytes C++
m.exe!juce::Component::addToDesktop(int styleWanted, void * nativeWindowToAttachTo) Line 673 + 0x18 bytes C++
m.exe!juce::TopLevelWindow::addToDesktop(int windowStyleFlags, void * nativeWindowToAttachTo) Line 265 C++
m.exe!juce::Component::setOpaque(const bool shouldBeOpaque) Line 762 C++
m.exe!juce::ResizableWindow::setBackgroundColour(const juce::Colour & newColour) Line 418 C++
m.exe!juce::ResizableWindow::ResizableWindow(const juce::String & name, const juce::Colour & backgroundColour_, const bool addToDesktop_) Line 55 C++
m.exe!juce::DocumentWindow::DocumentWindow(const juce::String & title, const juce::Colour & backgroundColour, const int requiredButtons_, const bool addToDesktop_) Line 64 + 0x40 bytes C++
m.exe!MainWindow::MainWindow() Line 13 + 0x69 bytes C++
m.exe!MemApplication::MemApplication() Line 34 C++
m.exe!juce_CreateApplication() Line 121 + 0x4d bytes C++
m.exe!juce::JUCEApplication::main(const juce::String & commandLine) Line 202 + 0x12 bytes C++
m.exe!WinMain(void * __formal, void * __formal, void * __formal, void * __formal) Line 121 + 0x54 bytes C++
m.exe!__tmainCRTStartup() Line 275 + 0x2c bytes C
m.exe!WinMainCRTStartup() Line 189 C
kernel32.dll!7c817067()
[Frames below may be incorrect and/or missing, no symbols loaded for kernel32.dll]
m.exe!juce::MemoryInputStream::MemoryInputStream(const juce::MemoryBlock & sourceData, const bool keepInternalCopy) Line 43 + 0x74 bytes C++


#2

That’s not a bug, it’s an assertion.

If you look at the code, it tells you that you can’t add a drop-shadow to a semi-transparent window. It’ll still run ok if you ignore the assertion, but I recommend not making your window transparent on XP, it’ll be very slow to draw.


#3

Right, I didn’t see it.