From cc4e7be2df813b4aebae93fbb4f1dc6278922021 Mon Sep 17 00:00:00 2001 From: heckflosse Date: Wed, 14 Dec 2016 14:01:05 +0100 Subject: [PATCH 1/3] Fix crash with Canon m-raw files when raw crop in camconst.json is defined, #3533 --- rtengine/rawimage.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rtengine/rawimage.cc b/rtengine/rawimage.cc index 382ebe0a7..1a8488c76 100644 --- a/rtengine/rawimage.cc +++ b/rtengine/rawimage.cc @@ -534,7 +534,7 @@ int RawImage::loadRaw (bool loadData, bool closeFile, ProgressListener *plistene free (raw_image); raw_image = nullptr; } else { - if (cc && cc->has_rawCrop()) { // foveon images + if (is_foveon && cc && cc->has_rawCrop()) { // foveon images int lm, tm, w, h; cc->get_rawCrop(lm, tm, w, h); left_margin = lm; From 3cc8438cf90a3001c2f01d44e2962c0c2c8dc262 Mon Sep 17 00:00:00 2001 From: heckflosse Date: Wed, 14 Dec 2016 14:39:20 +0100 Subject: [PATCH 2/3] CbDL before black and white no preview when changing exposure, fixes #3539 --- rtengine/dcrop.cc | 4 ++-- rtengine/improccoordinator.cc | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/rtengine/dcrop.cc b/rtengine/dcrop.cc index 5e3ef6991..a90c78069 100644 --- a/rtengine/dcrop.cc +++ b/rtengine/dcrop.cc @@ -678,7 +678,7 @@ void Crop::update (int todo) createBuffer(cropw, croph); // transform - if (needstransform || ((todo & (M_TRANSFORM)) && params.dirpyrequalizer.cbdlMethod == "bef" && params.dirpyrequalizer.enabled && !params.colorappearance.enabled)) { + if (needstransform || ((todo & (M_TRANSFORM | M_RGBCURVE)) && params.dirpyrequalizer.cbdlMethod == "bef" && params.dirpyrequalizer.enabled && !params.colorappearance.enabled)) { if (!transCrop) { transCrop = new Imagefloat (cropw, croph); } @@ -701,7 +701,7 @@ void Crop::update (int todo) transCrop = nullptr; } - if ((todo & (M_TRANSFORM)) && params.dirpyrequalizer.cbdlMethod == "bef" && params.dirpyrequalizer.enabled && !params.colorappearance.enabled) { + if ((todo & (M_TRANSFORM | M_RGBCURVE)) && params.dirpyrequalizer.cbdlMethod == "bef" && params.dirpyrequalizer.enabled && !params.colorappearance.enabled) { const int W = baseCrop->getWidth(); const int H = baseCrop->getHeight(); diff --git a/rtengine/improccoordinator.cc b/rtengine/improccoordinator.cc index 1b546669a..9c04e0710 100644 --- a/rtengine/improccoordinator.cc +++ b/rtengine/improccoordinator.cc @@ -372,12 +372,12 @@ void ImProcCoordinator::updatePreviewImage (int todo, Crop* cropCall) // Remove transformation if unneeded bool needstransform = ipf.needsTransform(); - if (!needstransform && !((todo & (M_TRANSFORM)) && params.dirpyrequalizer.cbdlMethod == "bef" && params.dirpyrequalizer.enabled && !params.colorappearance.enabled) && orig_prev != oprevi) { + if (!needstransform && !((todo & (M_TRANSFORM | M_RGBCURVE)) && params.dirpyrequalizer.cbdlMethod == "bef" && params.dirpyrequalizer.enabled && !params.colorappearance.enabled) && orig_prev != oprevi) { delete oprevi; oprevi = orig_prev; } - if ((needstransform || ((todo & (M_TRANSFORM)) && params.dirpyrequalizer.cbdlMethod == "bef" && params.dirpyrequalizer.enabled && !params.colorappearance.enabled)) ) { + if ((needstransform || ((todo & (M_TRANSFORM | M_RGBCURVE)) && params.dirpyrequalizer.cbdlMethod == "bef" && params.dirpyrequalizer.enabled && !params.colorappearance.enabled)) ) { if(!oprevi || oprevi == orig_prev) oprevi = new Imagefloat (pW, pH); if (needstransform) @@ -387,7 +387,7 @@ void ImProcCoordinator::updatePreviewImage (int todo, Crop* cropCall) orig_prev->copyData(oprevi); } - if ((todo & (M_TRANSFORM)) && params.dirpyrequalizer.cbdlMethod == "bef" && params.dirpyrequalizer.enabled && !params.colorappearance.enabled) { + if ((todo & (M_TRANSFORM | M_RGBCURVE)) && params.dirpyrequalizer.cbdlMethod == "bef" && params.dirpyrequalizer.enabled && !params.colorappearance.enabled) { const int W = oprevi->getWidth(); const int H = oprevi->getHeight(); LabImage labcbdl(W, H); From e5dba2e890bb922308af55ae012361892675e096 Mon Sep 17 00:00:00 2001 From: Beep6581 Date: Fri, 16 Dec 2016 11:38:26 +0100 Subject: [PATCH 3/3] Remove intrusive tooltips, issue #3537 (#3538) * Remove intrusive tooltips - TP_SHARPENING_TOOLTIP * Remove TP_SHARPENING_TOOLTIP from default --- rtdata/languages/default | 1 - rtgui/defringe.cc | 2 -- rtgui/dirpyrequalizer.cc | 2 -- rtgui/sharpening.cc | 2 -- rtgui/sharpenmicro.cc | 2 -- 5 files changed, 9 deletions(-) diff --git a/rtdata/languages/default b/rtdata/languages/default index df9aaec7c..5a9f1dd3c 100644 --- a/rtdata/languages/default +++ b/rtdata/languages/default @@ -1784,7 +1784,6 @@ TP_SHARPENING_RLD_AMOUNT;Amount TP_SHARPENING_RLD_DAMPING;Damping TP_SHARPENING_RLD_ITERATIONS;Iterations TP_SHARPENING_THRESHOLD;Threshold -TP_SHARPENING_TOOLTIP;Expect a slightly different effect when using with CIECAM02. If difference is observed, adjust to taste. TP_SHARPENING_USM;Unsharp Mask TP_SHARPENMICRO_AMOUNT;Quantity TP_SHARPENMICRO_LABEL;Microcontrast diff --git a/rtgui/defringe.cc b/rtgui/defringe.cc index 5da21185c..8d7287ac1 100644 --- a/rtgui/defringe.cc +++ b/rtgui/defringe.cc @@ -35,8 +35,6 @@ Defringe::Defringe () : FoldableToolPanel(this, "defringe", M("TP_DEFRINGE_LABEL bottomMilestones.push_back( GradientMilestone(double(x), double(R), double(G), double(B)) ); } - setEnabledTooltipMarkup(M("TP_SHARPENING_TOOLTIP")); - curveEditorPF = new CurveEditorGroup (options.lastPFCurvesDir); curveEditorPF->setCurveListener (this); chshape = static_cast(curveEditorPF->addCurve(CT_Flat, M("TP_PFCURVE_CURVEEDITOR_CH"))); diff --git a/rtgui/dirpyrequalizer.cc b/rtgui/dirpyrequalizer.cc index 53b4805ff..262f0f448 100644 --- a/rtgui/dirpyrequalizer.cc +++ b/rtgui/dirpyrequalizer.cc @@ -69,8 +69,6 @@ DirPyrEqualizer::DirPyrEqualizer () : FoldableToolPanel(this, "dirpyrequalizer", cbVBox->pack_start(*cdbox); pack_start(*cbVBox); - setEnabledTooltipMarkup(M("TP_SHARPENING_TOOLTIP")); - Gtk::HBox * buttonBox1 = Gtk::manage (new Gtk::HBox(true, 10)); pack_start(*buttonBox1); diff --git a/rtgui/sharpening.cc b/rtgui/sharpening.cc index 6af30c68b..b83b2c6d9 100644 --- a/rtgui/sharpening.cc +++ b/rtgui/sharpening.cc @@ -25,8 +25,6 @@ using namespace rtengine::procparams; Sharpening::Sharpening () : FoldableToolPanel(this, "sharpening", M("TP_SHARPENING_LABEL"), true, true) { - setEnabledTooltipMarkup(M("TP_SHARPENING_TOOLTIP")); - Gtk::HBox* hb = Gtk::manage (new Gtk::HBox ()); hb->set_border_width (4); hb->show (); diff --git a/rtgui/sharpenmicro.cc b/rtgui/sharpenmicro.cc index 2ca0ddf44..62e982436 100644 --- a/rtgui/sharpenmicro.cc +++ b/rtgui/sharpenmicro.cc @@ -28,8 +28,6 @@ using namespace rtengine::procparams; SharpenMicro::SharpenMicro () : FoldableToolPanel(this, "sharpenmicro", M("TP_SHARPENMICRO_LABEL"), true, true) { - setEnabledTooltipMarkup(M("TP_SHARPENING_TOOLTIP")); - amount = Gtk::manage(new Adjuster (M("TP_SHARPENMICRO_AMOUNT"), 0, 100, 1, 20)); amount->setAdjusterListener (this);