diff --git a/rtdata/languages/default b/rtdata/languages/default index a3c789d0b..5aed72c98 100644 --- a/rtdata/languages/default +++ b/rtdata/languages/default @@ -2581,7 +2581,7 @@ TP_LOCALLAB_PASTELS2;Vibrance TP_LOCALLAB_PDE;ΔØ Laplacian PDE - Dynamic Range compression + Standard TP_LOCALLAB_PDEFRA;PDE IPOL - Contrast attenuator ƒ TP_LOCALLAB_PDEFRAME_TOOLTIP;PDE IPOL - personal algorithm adapted from IPOL to Rawtherapee: lead to very different results and needs differents settings that Standard (negative black, gamma < 1,...)\nMay be usefull for low exposure.\n -TP_LOCALLAB_PREVIEWSEL;Preview selection ΔE +TP_LOCALLAB_PREVIEW;Preview ΔE TP_LOCALLAB_PROXI;ΔE weakening TP_LOCALLAB_QUALCURV_METHOD;Curves type TP_LOCALLAB_QUAL_METHOD;Global quality diff --git a/rtengine/improccoordinator.cc b/rtengine/improccoordinator.cc index db7f33290..4b5252920 100644 --- a/rtengine/improccoordinator.cc +++ b/rtengine/improccoordinator.cc @@ -154,6 +154,7 @@ ImProcCoordinator::ImProcCoordinator() : pdSharpenAutoRadiusListener(nullptr), frameCountListener(nullptr), imageTypeListener(nullptr), + filmNegListener(nullptr), actListener(nullptr), adnListener(nullptr), awavListener(nullptr), @@ -281,6 +282,7 @@ ImProcCoordinator::ImProcCoordinator() : lastsav(0), avg(0), lastspotdup(false), + previewDeltaE(false), locallColorMask(0), locallColorMaskinv(0), locallExpMask(0), @@ -1288,6 +1290,7 @@ void ImProcCoordinator::updatePreviewImage(int todo, bool panningRelatedChange) float Tsigma; float Tmin; float Tmax; + printf("preview: %d\n", previewDeltaE); ipf.Lab_Local(3, sp, (float**)shbuffer, nprevl, nprevl, reserv, lastorigimp, 0, 0, pW, pH, scale, locRETgainCurve, locRETtransCurve, lllocalcurve, locallutili, cllocalcurve, localclutili, diff --git a/rtengine/improccoordinator.h b/rtengine/improccoordinator.h index 6e467b689..029d3b3ae 100644 --- a/rtengine/improccoordinator.h +++ b/rtengine/improccoordinator.h @@ -367,6 +367,7 @@ protected: int lastsav; float avg; bool lastspotdup; + bool previewDeltaE; int locallColorMask; int locallColorMaskinv; int locallExpMask; @@ -451,8 +452,9 @@ public: updaterThreadStart.unlock(); } - void setLocallabMaskVisibility (int locallColorMask, int locallColorMaskinv, int locallExpMask, int locallExpMaskinv, int locallSHMask, int locallSHMaskinv, int locallvibMask, int locallsoftMask, int locallblMask, int localltmMask, int locallretiMask, int locallsharMask, int localllcMask, int locallcbMask) override + void setLocallabMaskVisibility(bool previewDeltaE, int locallColorMask, int locallColorMaskinv, int locallExpMask, int locallExpMaskinv, int locallSHMask, int locallSHMaskinv, int locallvibMask, int locallsoftMask, int locallblMask, int localltmMask, int locallretiMask, int locallsharMask, int localllcMask, int locallcbMask) override { + this->previewDeltaE = previewDeltaE; this->locallColorMask = locallColorMask; this->locallColorMaskinv = locallColorMaskinv; this->locallExpMask = locallExpMask; diff --git a/rtengine/rtengine.h b/rtengine/rtengine.h index f40b88aae..7561d68aa 100644 --- a/rtengine/rtengine.h +++ b/rtengine/rtengine.h @@ -549,7 +549,7 @@ public: virtual void updateUnLock() = 0; - virtual void setLocallabMaskVisibility(int locallColorMask, int locallColorMaskinv, int locallExpMask, int locallExpMaskinv, int locallSHMask, int locallSHMaskinv, int locallvibMask, int locallsoftMask, int locallblMask, int localltmMask, int locallretiMask, int locallsharMask, int localllcMask, int locallcbMask) = 0; + virtual void setLocallabMaskVisibility(bool previewDeltaE, int locallColorMask, int locallColorMaskinv, int locallExpMask, int locallExpMaskinv, int locallSHMask, int locallSHMaskinv, int locallvibMask, int locallsoftMask, int locallblMask, int localltmMask, int locallretiMask, int locallsharMask, int localllcMask, int locallcbMask) = 0; /** Creates and returns a Crop instance that acts as a window on the image * @param editDataProvider pointer to the EditDataProvider that communicates with the EditSubscriber diff --git a/rtgui/controlspotpanel.cc b/rtgui/controlspotpanel.cc index c9c6b1a54..0222507cc 100644 --- a/rtgui/controlspotpanel.cc +++ b/rtgui/controlspotpanel.cc @@ -85,6 +85,9 @@ ControlSpotPanel::ControlSpotPanel(): shortc_(Gtk::manage(new Gtk::CheckButton(M("TP_LOCALLAB_SHORTC")))), savrest_(Gtk::manage(new Gtk::CheckButton(M("TP_LOCALLAB_SAVREST")))), + preview_(Gtk::manage(new Gtk::ToggleButton(M("TP_LOCALLAB_PREVIEW")))), + + controlPanelListener(nullptr), lastObject_(-1), nbSpotChanged_(false), selSpotChanged_(false), @@ -326,6 +329,11 @@ ControlSpotPanel::ControlSpotPanel(): balanh_->setAdjusterListener(this); colorde_->setAdjusterListener(this); + preview_->set_active(false); + previewConn_ = preview_->signal_clicked().connect( + sigc::mem_fun( + *this, &ControlSpotPanel::previewChanged)); + if (showtooltip) { balan_->set_tooltip_text(M("TP_LOCALLAB_BALAN_TOOLTIP")); balanh_->set_tooltip_text(M("TP_LOCALLAB_BALAN_TOOLTIP")); @@ -337,16 +345,19 @@ ControlSpotPanel::ControlSpotPanel(): artifBox->pack_start(*iter_); artifBox->pack_start(*balan_); artifBox->pack_start(*balanh_); - artifBox->pack_start(*colorde_); + Gtk::HBox* const prevBox = Gtk::manage(new Gtk::HBox()); + prevBox->pack_start(*colorde_); + prevBox->pack_start(*preview_, Gtk::PACK_SHRINK, 4); + artifBox->pack_start(*prevBox); artifFrame->add(*artifBox); pack_start(*artifFrame); - + avoidConn_ = avoid_->signal_toggled().connect( sigc::mem_fun(*this, &ControlSpotPanel::avoidChanged)); pack_start(*avoid_); blwhConn_ = blwh_->signal_toggled().connect( - sigc::mem_fun(*this, &ControlSpotPanel::blwhChanged)); + sigc::mem_fun(*this, &ControlSpotPanel::blwhChanged)); if (showtooltip) { blwh_->set_tooltip_text(M("TP_LOCALLAB_BLWH_TOOLTIP")); @@ -440,8 +451,8 @@ ControlSpotPanel::ControlSpotPanel(): wavMethod_->append(M("TP_WAVELET_DAUB14")); wavMethod_->set_active(1); wavMethodconn_ = wavMethod_->signal_changed().connect( - sigc::mem_fun( - *this, &ControlSpotPanel::wavMethodChanged)); + sigc::mem_fun( + *this, &ControlSpotPanel::wavMethodChanged)); ctboxwavmethod->pack_start(*wavMethod_); pack_start(*ctboxwavmethod); @@ -782,8 +793,8 @@ void ControlSpotPanel::controlspotChanged() eventType = SpotSelection; SpotRow* const spotRow = getSpot(selIndex); - // Image area shall be regenerated if mask preview was active when switching spot - if (maskPrevActive) { + // Image area shall be regenerated if mask or deltaE preview was active when switching spot + if (maskPrevActive || preview_->get_active()) { listener->panelChanged(EvLocallabSpotSelectedWithMask, spotRow->name); } else { listener->panelChanged(EvLocallabSpotSelected, spotRow->name); @@ -1355,8 +1366,6 @@ void ControlSpotPanel::recursChanged() void ControlSpotPanel::laplacChanged() { - // printf("laplacChanged\n"); - // Get selected control spot const auto s = treeview_->get_selection(); @@ -1381,8 +1390,6 @@ void ControlSpotPanel::laplacChanged() void ControlSpotPanel::deltaeChanged() { - // printf("laplacChanged\n"); - // Get selected control spot const auto s = treeview_->get_selection(); @@ -1406,7 +1413,6 @@ void ControlSpotPanel::deltaeChanged() void ControlSpotPanel::shortcChanged() { - // Get selected control spot const auto s = treeview_->get_selection(); @@ -1430,7 +1436,6 @@ void ControlSpotPanel::shortcChanged() void ControlSpotPanel::savrestChanged() { - // Get selected control spot const auto s = treeview_->get_selection(); @@ -1452,6 +1457,17 @@ void ControlSpotPanel::savrestChanged() } } +void ControlSpotPanel::previewChanged() +{ + // If deltaE preview is activated, deactivate all other tool mask preview + if (controlPanelListener) { + controlPanelListener->resetToolMaskView(); + } + + if (listener) { + listener->panelChanged(EvlocallabshowmaskMethod, ""); + } +} void ControlSpotPanel::disableParamlistener(bool cond) { @@ -2257,6 +2273,18 @@ bool ControlSpotPanel::setSelectedSpot(const int index) return false; } +bool ControlSpotPanel::isDeltaEPrevActive() +{ + return (preview_->get_active()); +} + +void ControlSpotPanel::resetDeltaEPreview() +{ + previewConn_.block(true); + preview_->set_active(false); + previewConn_.block(false); +} + void ControlSpotPanel::addControlSpot(SpotRow* newSpot) { // printf("addControlSpot: %d\n", newSpot->name); diff --git a/rtgui/controlspotpanel.h b/rtgui/controlspotpanel.h index 02a4758c1..b0eaedd5b 100644 --- a/rtgui/controlspotpanel.h +++ b/rtgui/controlspotpanel.h @@ -27,6 +27,16 @@ #include "toolpanel.h" #include "adjuster.h" +class ControlPanelListener +{ +public: + ControlPanelListener() {}; + virtual ~ControlPanelListener() {}; + + virtual void resetToolMaskView() = 0; +}; + + class ControlSpotPanel: public ToolParamBlock, public AdjusterListener, @@ -103,6 +113,15 @@ public: * @param provider The EditDataProvider to be linked to the panel to manage curves */ void setEditProvider(EditDataProvider* provider); + /** + * Setter for controlPanelListener + * + * @param cpl The ControlPanelListener to be linked to the panel + */ + void setControlPanelListener(ControlPanelListener* cpl) + { + controlPanelListener = cpl; + } /** * Getter of the event type raised by this panel * @@ -144,6 +163,16 @@ public: { maskPrevActive = ind; } + /** + * Getter for deltaE preview active + * + * @return True if preview deltaE is active + */ + bool isDeltaEPrevActive(); + /** + * Reset deltaE preview active state + */ + void resetDeltaEPreview(); // Control spot creation functions /** @@ -216,6 +245,8 @@ private: void shortcChanged(); void savrestChanged(); + void previewChanged(); + void disableParamlistener(bool cond); void addControlSpotCurve(Gtk::TreeModel::Row& row); @@ -362,7 +393,11 @@ private: Gtk::CheckButton* const savrest_; sigc::connection savrestConn_; + Gtk::ToggleButton* const preview_; + sigc::connection previewConn_; + // Internal variables + ControlPanelListener* controlPanelListener; int lastObject_; rtengine::Coord lastCoord_; bool nbSpotChanged_; diff --git a/rtgui/locallab.cc b/rtgui/locallab.cc index 5d3171613..c14e3217c 100644 --- a/rtgui/locallab.cc +++ b/rtgui/locallab.cc @@ -171,6 +171,7 @@ Locallab::Locallab(): panel->set_spacing(2); // Add spot control panel to panel widget + expsettings->setControlPanelListener(this); expsettings->setLevel(2); panel->pack_start(*expsettings->getExpander(), false, false); @@ -1005,6 +1006,9 @@ void Locallab::resetMaskVisibility() // Indicate to spot control panel that no more mask preview is active expsettings->setMaskPrevActive(false); + // Reset deltaE preview + expsettings->resetDeltaEPreview(); + // Reset mask preview for all Locallab tools for (auto tool : locallabTools) { tool->resetMaskView(); @@ -1013,6 +1017,9 @@ void Locallab::resetMaskVisibility() Locallab::llMaskVisibility Locallab::getMaskVisibility() const { + // Get deltaE preview state + const bool prevDeltaE = expsettings->isDeltaEPrevActive(); + // Get mask preview from Locallab tools int colorMask, colorMaskinv, expMask, expMaskinv, shMask, shMaskinv, vibMask, softMask, blMask, tmMask, retiMask, sharMask, lcMask, cbMask; @@ -1027,7 +1034,7 @@ Locallab::llMaskVisibility Locallab::getMaskVisibility() const (lcMask == 0) || (cbMask == 0); expsettings->setMaskPrevActive(isMaskActive); - return {colorMask, colorMaskinv, expMask, expMaskinv, shMask, shMaskinv, vibMask, softMask, blMask, tmMask, retiMask, sharMask, lcMask, cbMask}; + return {prevDeltaE, colorMask, colorMaskinv, expMask, expMaskinv, shMask, shMaskinv, vibMask, softMask, blMask, tmMask, retiMask, sharMask, lcMask, cbMask}; } void Locallab::resetshowPressed() @@ -1125,8 +1132,19 @@ void Locallab::setParamEditable(bool cond) } } +void Locallab::resetToolMaskView() +{ + // Reset mask view GUI for all other Locallab tools + for (auto tool : locallabTools) { + tool->resetMaskView(); + } +} + void Locallab::resetOtherMaskView(LocallabTool* current) { + // Reset deltaE preview + expsettings->resetDeltaEPreview(); + // Reset mask view GUI for all other Locallab tools except current for (auto tool : locallabTools) { if (tool != current) { diff --git a/rtgui/locallab.h b/rtgui/locallab.h index d4a269f78..8d68576f4 100644 --- a/rtgui/locallab.h +++ b/rtgui/locallab.h @@ -91,6 +91,7 @@ class Locallab : public ToolParamBlock, public FoldableToolPanel, public rtengine::LocallabListener, + public ControlPanelListener, public LocallabToolListener, public LocallabToolListListener { @@ -146,6 +147,7 @@ public: // Mask visibility management functions struct llMaskVisibility { + bool previewDeltaE; int colorMask; int colorMaskinv; int expMask; @@ -193,6 +195,9 @@ private: // Locallab GUI management function void setParamEditable(bool cond); + // ControlSpotListener function + void resetToolMaskView() override; + // LocallabToolListener function void resetOtherMaskView(LocallabTool* current) override; void toolRemoved(LocallabTool* current) override; diff --git a/rtgui/locallabtools.cc b/rtgui/locallabtools.cc index bbda6b50d..79d510df2 100644 --- a/rtgui/locallabtools.cc +++ b/rtgui/locallabtools.cc @@ -633,7 +633,6 @@ LocallabColor::LocallabColor(): showmaskcolMethod->append(M("TP_LOCALLAB_SHOWMODIFMASK")); showmaskcolMethod->append(M("TP_LOCALLAB_SHOWMASK")); showmaskcolMethod->append(M("TP_LOCALLAB_SHOWSTRUC")); - showmaskcolMethod->append(M("TP_LOCALLAB_PREVIEWSEL")); showmaskcolMethod->set_active(0); showmaskcolMethod->set_tooltip_markup(M("TP_LOCALLAB_SHOWMASKCOL_TOOLTIP")); showmaskcolMethodConn = showmaskcolMethod->signal_changed().connect(sigc::mem_fun(*this, &LocallabColor::showmaskcolMethodChanged)); @@ -2276,7 +2275,6 @@ LocallabExposure::LocallabExposure(): showmaskexpMethod->append(M("TP_LOCALLAB_SHOWMODIFMASK")); showmaskexpMethod->append(M("TP_LOCALLAB_SHOWMASK")); showmaskexpMethod->append(M("TP_LOCALLAB_SHOWSTRUCEX")); - showmaskexpMethod->append(M("TP_LOCALLAB_PREVIEWSEL")); showmaskexpMethod->set_active(0); showmaskexpMethod->set_tooltip_markup(M("TP_LOCALLAB_SHOWMASKCOL_TOOLTIP")); showmaskexpMethodConn = showmaskexpMethod->signal_changed().connect(sigc::mem_fun(*this, &LocallabExposure::showmaskexpMethodChanged)); @@ -3301,7 +3299,6 @@ LocallabShadow::LocallabShadow(): showmaskSHMethod->append(M("TP_LOCALLAB_SHOWMODIF")); showmaskSHMethod->append(M("TP_LOCALLAB_SHOWMODIFMASK")); showmaskSHMethod->append(M("TP_LOCALLAB_SHOWMASK")); - showmaskSHMethod->append(M("TP_LOCALLAB_PREVIEWSEL")); showmaskSHMethod->set_active(0); showmaskSHMethod->set_tooltip_markup(M("TP_LOCALLAB_SHOWMASKCOL_TOOLTIP")); showmaskSHMethodConn = showmaskSHMethod->signal_changed().connect(sigc::mem_fun(*this, &LocallabShadow::showmaskSHMethodChanged)); @@ -4152,7 +4149,6 @@ LocallabVibrance::LocallabVibrance(): showmaskvibMethod->append(M("TP_LOCALLAB_SHOWMODIF")); showmaskvibMethod->append(M("TP_LOCALLAB_SHOWMODIFMASK")); showmaskvibMethod->append(M("TP_LOCALLAB_SHOWMASK")); - showmaskvibMethod->append(M("TP_LOCALLAB_PREVIEWSEL")); showmaskvibMethod->set_active(0); showmaskvibMethod->set_tooltip_markup(M("TP_LOCALLAB_SHOWMASKCOL_TOOLTIP")); showmaskvibMethodConn = showmaskvibMethod->signal_changed().connect(sigc::mem_fun(*this, &LocallabVibrance::showmaskvibMethodChanged)); @@ -4837,7 +4833,6 @@ LocallabSoft::LocallabSoft(): showmasksoftMethod->append(M("TP_LOCALLAB_SHOWPOISSON")); showmasksoftMethod->append(M("TP_LOCALLAB_SHOWNORMAL")); showmasksoftMethod->append(M("TP_LOCALLAB_SHOWMODIF")); - showmasksoftMethod->append(M("TP_LOCALLAB_PREVIEWSEL")); showmasksoftMethod->set_active(0); showmasksoftMethod->set_tooltip_markup(M("TP_LOCALLAB_SHOWMASKSOFT_TOOLTIP")); showmasksoftMethodConn = showmasksoftMethod->signal_changed().connect(sigc::mem_fun(*this, &LocallabSoft::showmasksoftMethodChanged)); @@ -5262,7 +5257,6 @@ LocallabBlur::LocallabBlur(): showmaskblMethod->append(M("TP_LOCALLAB_SHOWMODIF")); showmaskblMethod->append(M("TP_LOCALLAB_SHOWMODIFMASK")); showmaskblMethod->append(M("TP_LOCALLAB_SHOWMASK")); - showmaskblMethod->append(M("TP_LOCALLAB_PREVIEWSEL")); showmaskblMethod->set_active(0); showmaskblMethod->set_tooltip_markup(M("TP_LOCALLAB_SHOWMASKCOL_TOOLTIP")); showmaskblMethodConn = showmaskblMethod->signal_changed().connect(sigc::mem_fun(*this, &LocallabBlur::showmaskblMethodChanged)); diff --git a/rtgui/locallabtools2.cc b/rtgui/locallabtools2.cc index 0e0fb2d92..dd4fbd897 100644 --- a/rtgui/locallabtools2.cc +++ b/rtgui/locallabtools2.cc @@ -175,7 +175,6 @@ LocallabTone::LocallabTone(): showmasktmMethod->append(M("TP_LOCALLAB_SHOWMODIF")); showmasktmMethod->append(M("TP_LOCALLAB_SHOWMODIFMASK")); showmasktmMethod->append(M("TP_LOCALLAB_SHOWMASK")); - showmasktmMethod->append(M("TP_LOCALLAB_PREVIEWSEL")); showmasktmMethod->set_active(0); showmasktmMethod->set_tooltip_markup(M("TP_LOCALLAB_SHOWMASKCOL_TOOLTIP")); showmasktmMethodConn = showmasktmMethod->signal_changed().connect(sigc::mem_fun(*this, &LocallabTone::showmasktmMethodChanged)); @@ -844,7 +843,6 @@ LocallabRetinex::LocallabRetinex(): showmaskretiMethod->append(M("TP_LOCALLAB_SHOWMODIF")); showmaskretiMethod->append(M("TP_LOCALLAB_SHOWMODIFMASK")); showmaskretiMethod->append(M("TP_LOCALLAB_SHOWMASK")); - showmaskretiMethod->append(M("TP_LOCALLAB_PREVIEWSEL")); showmaskretiMethod->set_active(0); showmaskretiMethod->set_tooltip_markup(M("TP_LOCALLAB_SHOWMASKCOL_TOOLTIP")); showmaskretiMethodConn = showmaskretiMethod->signal_changed().connect(sigc::mem_fun(*this, &LocallabRetinex::showmaskretiMethodChanged)); @@ -1757,7 +1755,6 @@ LocallabSharp::LocallabSharp(): showmasksharMethod->append(M("TP_LOCALLAB_SHOWMNONE")); showmasksharMethod->append(M("TP_LOCALLAB_SHOWMODIF")); - showmasksharMethod->append(M("TP_LOCALLAB_PREVIEWSEL")); showmasksharMethod->set_active(0); showmasksharMethod->set_tooltip_markup(M("TP_LOCALLAB_SHOWMASKCOL_TOOLTIP")); showmasksharMethodConn = showmasksharMethod->signal_changed().connect(sigc::mem_fun(*this, &LocallabSharp::showmasksharMethodChanged)); @@ -2321,7 +2318,6 @@ LocallabContrast::LocallabContrast(): showmasklcMethod->append(M("TP_LOCALLAB_SHOWMODIF")); showmasklcMethod->append(M("TP_LOCALLAB_SHOWMODIFMASK")); showmasklcMethod->append(M("TP_LOCALLAB_SHOWMASK")); - showmasklcMethod->append(M("TP_LOCALLAB_PREVIEWSEL")); showmasklcMethod->set_active(0); showmasklcMethod->set_tooltip_markup(M("TP_LOCALLAB_SHOWMASKCOL_TOOLTIP")); showmasklcMethodConn = showmasklcMethod->signal_changed().connect(sigc::mem_fun(*this, &LocallabContrast::showmasklcMethodChanged)); @@ -3727,7 +3723,6 @@ LocallabCBDL::LocallabCBDL(): showmaskcbMethod->append(M("TP_LOCALLAB_SHOWMODIF")); showmaskcbMethod->append(M("TP_LOCALLAB_SHOWMODIFMASK")); showmaskcbMethod->append(M("TP_LOCALLAB_SHOWMASK")); - showmaskcbMethod->append(M("TP_LOCALLAB_PREVIEWSEL")); showmaskcbMethod->set_active(0); showmaskcbMethod->set_tooltip_markup(M("TP_LOCALLAB_SHOWMASKCOL_TOOLTIP")); showmaskcbMethodConn = showmaskcbMethod->signal_changed().connect(sigc::mem_fun(*this, &LocallabCBDL::showmaskcbMethodChanged)); diff --git a/rtgui/toolpanelcoord.cc b/rtgui/toolpanelcoord.cc index 9d9aeca9d..013d36d13 100644 --- a/rtgui/toolpanelcoord.cc +++ b/rtgui/toolpanelcoord.cc @@ -524,7 +524,7 @@ void ToolPanelCoordinator::panelChanged(const rtengine::ProcEvent& event, const */ if (event == rtengine::EvlocallabshowmaskMethod) { const Locallab::llMaskVisibility maskStruc = locallab->getMaskVisibility(); - ipc->setLocallabMaskVisibility(maskStruc.colorMask, maskStruc.colorMaskinv, maskStruc.expMask, maskStruc.expMaskinv, + ipc->setLocallabMaskVisibility(maskStruc.previewDeltaE, maskStruc.colorMask, maskStruc.colorMaskinv, maskStruc.expMask, maskStruc.expMaskinv, maskStruc.SHMask, maskStruc.SHMaskinv, maskStruc.vibMask, maskStruc.softMask, maskStruc.blMask, maskStruc.tmMask, maskStruc.retiMask, maskStruc.sharMask, maskStruc.lcMask, maskStruc.cbMask); @@ -532,7 +532,7 @@ void ToolPanelCoordinator::panelChanged(const rtengine::ProcEvent& event, const event == rtengine::EvLocallabSpotDeleted || event == rtengine::Evlocallabshowreset || event == rtengine::EvlocallabToolRemovedWithRefresh) { locallab->resetMaskVisibility(); - ipc->setLocallabMaskVisibility(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0); + ipc->setLocallabMaskVisibility(false, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0); } ipc->endUpdateParams(changeFlags); // starts the IPC processing @@ -642,7 +642,7 @@ void ToolPanelCoordinator::profileChange( // Reset Locallab mask visibility locallab->resetMaskVisibility(); - ipc->setLocallabMaskVisibility(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0); + ipc->setLocallabMaskVisibility(false, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0); // start the IPC processing if (filterRawRefresh) {