diff --git a/modules/juce_gui_basics/native/juce_linux_X11_Windowing.cpp b/modules/juce_gui_basics/native/juce_linux_X11_Windowing.cpp index c20353125c..af32785da2 100644 --- a/modules/juce_gui_basics/native/juce_linux_X11_Windowing.cpp +++ b/modules/juce_gui_basics/native/juce_linux_X11_Windowing.cpp @@ -4114,15 +4114,13 @@ void MouseCursor::showInWindow (ComponentPeer* peer) const { if (auto* lp = dynamic_cast (peer)) { + auto cursor = (Cursor) getHandle(); + ScopedXDisplay xDisplay; - auto cursor = (Cursor) getHandle(); - auto cursorDisplay = cursorMap[cursor]; - - if (cursorHandle != nullptr && xDisplay.display != cursorDisplay) + if (cursorHandle != nullptr && xDisplay.display != cursorMap[cursor]) { cursorMap.erase (cursor); - XFreeCursor (cursorDisplay, cursor); if (auto* customInfo = cursorHandle->getCustomInfo()) cursorHandle->setHandle (customInfo->create());