I have an application which have a FileBrowser in a tabbed component, and the FileBrowser is browsing a directory with lots of files and so there is a scrollbar shown. If i maximise the window and then resize the internal layout of the tabbed component (thus resizing the FileBrowserComponent) i’m getting this assert from time to time:
JUCE Assertion failure in …/…/src/juce_appframework/gui/graphics/contexts/juce_EdgeTable.h, line 165
here is the back trace:
#0 0xa7f0f410 in ?? ()
#1 0xaf8ab058 in ?? ()
#2 0x00000015 in ?? ()
#3 0x081cac4e in juce::LowLevelGraphicsSoftwareRenderer::clippedFillPathWithGradient (this=0xaf8abaa4, clipX=536, clipY=22, clipW=10, clipH=514,
path=@0xaf8ab444, t=@0x829debc, gradient=@0xa7106e1c, quality=juce::EdgeTable::Oversampling_4times)
at ../../src/juce_appframework/gui/graphics/contexts/juce_LowLevelGraphicsSoftwareRenderer.cpp:1332
#4 0x081cae17 in juce::LowLevelGraphicsSoftwareRenderer::fillPathWithGradient (this=0xaf8abaa4, path=@0xaf8ab444, t=@0x829debc, gradient=@0xa7106e1c,
quality=juce::EdgeTable::Oversampling_4times) at ../../src/juce_appframework/gui/graphics/contexts/juce_LowLevelGraphicsSoftwareRenderer.cpp:1250
#5 0x080fbd34 in juce::GradientBrush::paintPath (this=0xa7106e18, context=@0xaf8abaa4, path=@0xaf8ab444, transform=@0x829debc)
at ../../src/juce_appframework/gui/graphics/brushes/juce_GradientBrush.cpp:88
#6 0x08103475 in juce::Graphics::fillPath (this=0xaf8aba20, path=@0xaf8ab444, transform=@0x829debc)
at ../../src/juce_appframework/gui/graphics/contexts/juce_Graphics.cpp:423
#7 0x081886e7 in juce::LookAndFeel::drawScrollbar (this=0x82baff0, g=@0xaf8aba20, scrollbar=@0x82e3a10, x=0, y=12, width=10, height=490,
isScrollbarVertical=true, thumbStartPosition=12, thumbSize=274) at ../../src/juce_appframework/gui/components/lookandfeel/juce_LookAndFeel.cpp:632
#8 0x081fbfa9 in juce::ScrollBar::paint (this=0x82e3a10, g=@0xaf8aba20) at ../../src/juce_appframework/gui/components/layout/juce_ScrollBar.cpp:303
#9 0x0814301f in juce::Component::paintEntireComponent (this=0x82e3a10, originalContext=@0xaf8aba20)
at ../../src/juce_appframework/gui/components/juce_Component.cpp:1735
#10 0x081431df in juce::Component::paintEntireComponent (this=0x82e3960, originalContext=@0xaf8aba20)
at ../../src/juce_appframework/gui/components/juce_Component.cpp:1767
#11 0x081431df in juce::Component::paintEntireComponent (this=0x82e38a4, originalContext=@0xaf8aba20)
at ../../src/juce_appframework/gui/components/juce_Component.cpp:1767
#12 0x081431df in juce::Component::paintEntireComponent (this=0x82e3580, originalContext=@0xaf8aba20)
at ../../src/juce_appframework/gui/components/juce_Component.cpp:1767
#13 0x081431df in juce::Component::paintEntireComponent (this=0x82df1b8, originalContext=@0xaf8aba20)
at ../../src/juce_appframework/gui/components/juce_Component.cpp:1767
#14 0x081431df in juce::Component::paintEntireComponent (this=0x82baf40, originalContext=@0xaf8aba20)
at ../../src/juce_appframework/gui/components/juce_Component.cpp:1767
#15 0x081431df in juce::Component::paintEntireComponent (this=0x82b6f60, originalContext=@0xaf8aba20)
at ../../src/juce_appframework/gui/components/juce_Component.cpp:1767
#16 0x081a37d8 in juce::ComponentPeer::handlePaint (this=0x82b7070, contextToPaintTo=@0xaf8abaa4)
at ../../src/juce_appframework/gui/components/windows/juce_ComponentPeer.cpp:392
#17 0x081ad207 in juce::LinuxComponentPeer::LinuxRepaintManager::performAnyPendingRepaintsNow (this=0x82b8ba0)
at platform_specific_code/juce_linux_Windowing.cpp:1762
#18 0x081ae4de in juce::LinuxComponentPeer::LinuxRepaintManager::timerCallback (this=0x82b8ba0) at platform_specific_code/juce_linux_Windowing.cpp:1713
#19 0x080f9430 in juce::InternalTimerThread::handleMessage (this=0x82a6378) at ../../src/juce_appframework/events/juce_Timer.cpp:267
#20 0x080f9fed in juce::MessageManager::deliverMessage (this=0x82a1840, message=0x8343448) at ../../src/juce_appframework/events/juce_MessageManager.cpp:111
#21 0x081b2811 in juce::juce_dispatchNextMessageOnSystemQueue (returnIfNoPendingMessages=false) at platform_specific_code/juce_linux_Messaging.cpp:362
#22 0x080fa34e in juce::MessageManager::dispatchNextMessage (this=0x82a1840, returnImmediatelyIfNoMessages=false, wasAMessageDispatched=0x0)
at ../../src/juce_appframework/events/juce_MessageManager.cpp:150
#23 0x080fa42a in juce::MessageManager::runDispatchLoop (this=0x82a1840) at ../../src/juce_appframework/events/juce_MessageManager.cpp:194
#24 0x080e75f9 in juce::JUCEApplication::main (commandLine=@0xaf8abd18, app=0x82a15e8) at ../../src/juce_appframework/application/juce_Application.cpp:206
#25 0x080e76fe in juce::JUCEApplication::main (argc=1, argv=0xaf8abdf4, newApp=0x82a15e8)
at ../../src/juce_appframework/application/juce_Application.cpp:289
#26 0x0808de0b in main (argc=1, argv=0xaf8abdf4) at ../../src/HostMain.cpp:217
Ah the problem arise also in Release mode, where i get a segmentation fault in EdgeTable::iterate, just some lines below i think.