diff --git a/rtgui/cropwindow.cc b/rtgui/cropwindow.cc index 10b188a21..20dd3eb9d 100644 --- a/rtgui/cropwindow.cc +++ b/rtgui/cropwindow.cc @@ -2083,10 +2083,15 @@ void CropWindow::updateHoveredPicker (rtengine::Coord *imgPos) } LockableColorPicker::Validity validity = checkValidity (hoveredPicker, cropPos); hoveredPicker->setValidity (validity); + + { + MyMutex::MyLock lock(cropHandler.cimg); + if (validity == LockableColorPicker::Validity::INSIDE) { cropHandler.colorPick(cropPos, r, g, b, rpreview, gpreview, bpreview, hoveredPicker->getSize()); hoveredPicker->setRGB (r, g, b, rpreview, gpreview, bpreview); } + } } void CropWindow::changeZoom (int zoom, bool notify, int centerx, int centery) { @@ -2450,6 +2455,7 @@ void CropWindow::drawObservedFrame (Cairo::RefPtr cr, int rw, in void CropWindow::cropImageUpdated () { + MyMutex::MyLock lock(cropHandler.cimg); for (auto colorPicker : colorPickers) { Coord imgPos, cropPos;