diff --git a/rtgui/cropwindow.cc b/rtgui/cropwindow.cc index ef4635f11..b52535317 100644 --- a/rtgui/cropwindow.cc +++ b/rtgui/cropwindow.cc @@ -93,7 +93,6 @@ CropWindow::CropWindow (ImageArea* parent, rtengine::StagedImageProcessor* ipc_) minWidth = bsw + iw + 2*sideBorderWidth; setSize (100, 100); - zoom11(); cropHandler.newImage (ipc_); cropHandler.setPosition (0,0); cropHandler.setEnabled (true); diff --git a/rtgui/imagearea.cc b/rtgui/imagearea.cc index ede4567a4..e24e2163d 100644 --- a/rtgui/imagearea.cc +++ b/rtgui/imagearea.cc @@ -231,6 +231,7 @@ void ImageArea::unGrabFocus () { void ImageArea::addCropWindow () { CropWindow* cw = new CropWindow (this, ipc); + cw->zoom11(); cw->setCropGUIListener (cropgl); cw->setPointerMotionListener (pmlistener); cropWins.push_front (cw); @@ -248,10 +249,13 @@ void ImageArea::addCropWindow () { cw->setPosition (col*get_width()/K + hBorder/2 + layer*30, row*get_height()/K + vBorder/2 + layer*30); } else { - cw->setSize (lastClosedX, lastClosedY); - cw->setPosition (lastClosedW, lastClosedH); + cw->setPosition (lastClosedX, lastClosedY); + cw->setSize(lastClosedW, lastClosedH); } - + int x0,y0,w,h,wc,hc; + mainCropWindow->getCropRectangle(x0,y0,w,h ); + cw->getCropSize(wc,hc); + cw->setCropPosition(x0+w/2-wc/2,y0+h/2-hc/2); mainCropWindow->setObservedCropWin (cropWins.front()); queue_draw (); }