@@ -348,9 +348,6 @@ CodeEditorComponent::CodeEditorComponent (CodeDocument& doc, CodeTokeniser* cons
348348 setMouseCursor (MouseCursor::IBeamCursor);
349349 setWantsKeyboardFocus (true );
350350
351- lookAndFeelChanged ();
352- addAndMakeVisible (caret.get ());
353-
354351 addAndMakeVisible (verticalScrollBar);
355352 verticalScrollBar.setSingleStepSize (1.0 );
356353
@@ -369,6 +366,8 @@ CodeEditorComponent::CodeEditorComponent (CodeDocument& doc, CodeTokeniser* cons
369366 verticalScrollBar.addListener (pimpl.get ());
370367 horizontalScrollBar.addListener (pimpl.get ());
371368 document.addListener (pimpl.get ());
369+
370+ lookAndFeelChanged ();
372371}
373372
374373CodeEditorComponent::~CodeEditorComponent ()
@@ -405,7 +404,10 @@ void CodeEditorComponent::setTemporaryUnderlining (const Array<Range<int>>&)
405404
406405Rectangle<int > CodeEditorComponent::getCaretRectangle ()
407406{
408- return getLocalArea (caret.get (), caret->getLocalBounds ());
407+ if (caret != nullptr )
408+ return getLocalArea (caret.get (), caret->getLocalBounds ());
409+
410+ return {};
409411}
410412
411413void CodeEditorComponent::setLineNumbersShown (const bool shouldBeShown)
@@ -582,7 +584,8 @@ void CodeEditorComponent::retokenise (int startIndex, int endIndex)
582584// ==============================================================================
583585void CodeEditorComponent::updateCaretPosition ()
584586{
585- caret->setCaretPosition (getCharacterBounds (getCaretPos ()));
587+ if (caret != nullptr )
588+ caret->setCaretPosition (getCharacterBounds (getCaretPos ()));
586589}
587590
588591void CodeEditorComponent::moveCaretTo (const CodeDocument::Position& newPos, const bool highlighting)
@@ -1318,6 +1321,7 @@ bool CodeEditorComponent::perform (const InvocationInfo& info)
13181321void CodeEditorComponent::lookAndFeelChanged ()
13191322{
13201323 caret.reset (getLookAndFeel ().createCaretComponent (this ));
1324+ addAndMakeVisible (*caret);
13211325}
13221326
13231327bool CodeEditorComponent::performCommand (const CommandID commandID)
0 commit comments