The Jucer bug


#1

I’ve compiled The Jucer with the latest sources and there’s a bug resizing the preferences window (about).
juce_Range.h, line 63, pointer invalid. But the problem comes from class TokenList, line 357 file juce_TextLayout.cpp, currentRun pointer is null.

I only tested this on XP Pro SP3.

Stack:

Jucer.exe!juce::Range::operator=(const juce::Range & other) Line 63 + 0x8 bytes C++
Jucer.exe!juce::TextLayoutHelpers::TokenList::addRun(juce::TextLayout::Line * glyphLine, juce::TextLayout::Run * glyphRun, const juce::TextLayoutHelpers::Token * const t, const int start, const int end) Line 392 + 0x22 bytes C++
Jucer.exe!juce::TextLayoutHelpers::TokenList::createLayout(const juce::AttributedString & text, juce::TextLayout & layout) Line 357 + 0x23 bytes C++
Jucer.exe!juce::TextLayout::createStandardLayout(const juce::AttributedString & text) Line 601 C++
Jucer.exe!juce::TextLayout::createLayout(const juce::AttributedString & text, float maxWidth) Line 235 C++
Jucer.exe!juce::AttributedString::draw(juce::Graphics & g, const juce::Rectangle & area) Line 215 C++
Jucer.exe!AboutPage::paint(juce::Graphics & g) Line 91 + 0x80 bytes C++
Jucer.exe!juce::Component::paintComponentAndChildren(juce::Graphics & g) Line 1888 C++
Jucer.exe!juce::Component::paintEntireComponent(juce::Graphics & g, const bool ignoreAlphaLevel) Line 1976 C++
Jucer.exe!juce::Component::paintWithinParentContext(juce::Graphics & g) Line 1870 C++
Jucer.exe!juce::Component::paintComponentAndChildren(juce::Graphics & g) Line 1934 C++
Jucer.exe!juce::Component::paintEntireComponent(juce::Graphics & g, const bool ignoreAlphaLevel) Line 1976 C++
Jucer.exe!juce::Component::paintWithinParentContext(juce::Graphics & g) Line 1870 C++
Jucer.exe!juce::Component::paintComponentAndChildren(juce::Graphics & g) Line 1934 C++
Jucer.exe!juce::Component::paintEntireComponent(juce::Graphics & g, const bool ignoreAlphaLevel) Line 1976 C++
Jucer.exe!juce::ComponentPeer::handlePaint(juce::LowLevelGraphicsContext & contextToPaintTo) Line 136 C++
Jucer.exe!juce::HWNDComponentPeer::handlePaintMessage() Line 1492 C++
Jucer.exe!juce::HWNDComponentPeer::peerWindowProc(HWND__ * h, unsigned int message, unsigned int wParam, long lParam) Line 2155 C++
Jucer.exe!juce::HWNDComponentPeer::windowProc(HWND__ * h, unsigned int message, unsigned int wParam, long lParam) Line 2107 + 0x18 bytes C++
user32.dll!7e398734()
[Frames below may be incorrect and/or missing, no symbols loaded for user32.dll]
user32.dll!7e398816()
user32.dll!7e3a8ea0()
user32.dll!7e3a8eec()
ntdll.dll!7c91e453()
user32.dll!7e3994d2()
user32.dll!7e3a8f10()
user32.dll!7e399402()
user32.dll!7e3991f1()
ntdll.dll!7c9233f6()
Jucer.exe!_ismbblead(unsigned int tst) Line 172 + 0xf bytes C++


#2

Thanks! Should be fixed now.