When editing a slider’s value using its textbox, a segfault is triggered in the lambda in the reallocWrapper function, in the HeapBlock class.
It can be reliably reproduced in debug.
Tested on Ubuntu 24.10, JUCE v8.0.3, gcc 14.2.0
And on Ubuntu 20.04, JUCE v8.0.3, gcc 10.5.0
Couldn’t reproduce on macOS and no similar errors on Windows.
To reproduce:
- GUI App project
- MainComponent.cpp:
#include "MainComponent.h"
MainComponent::MainComponent()
{
pSlider = std::make_unique<juce::Slider>("Slider");
pSlider->setSliderStyle(juce::Slider::SliderStyle::RotaryVerticalDrag);
addAndMakeVisible(pSlider.get());
setSize (600, 400);
}
void MainComponent::paint (juce::Graphics& g)
{
g.fillAll (getLookAndFeel().findColour (juce::ResizableWindow::backgroundColourId));
}
void MainComponent::resized()
{
pSlider->setTextBoxStyle(juce::Slider::TextEntryBoxPosition::TextBoxBelow, false, getWidth(), getHeight() / 4.);
pSlider->setBounds(getLocalBounds());
}
- MainComponent.h:
#pragma once
#include <juce_gui_extra/juce_gui_extra.h>
class MainComponent final : public juce::Component
{
public:
MainComponent();
void paint (juce::Graphics&) override;
void resized() override;
private:
std::unique_ptr<juce::Slider> pSlider;
JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (MainComponent)
};