Fixes several cases where mask visibility wasn't resetted

- When a tool was removed with mask visibility active
- When an active mask visibility combobox was hidden due to other GUI
action
This commit is contained in:
Pandagrapher
2020-04-18 12:30:05 +02:00
parent 8e534877c2
commit 99b4a056c8
2 changed files with 64 additions and 9 deletions

View File

@@ -514,7 +514,13 @@ void ToolPanelCoordinator::panelChanged(const rtengine::ProcEvent& event, const
/*
* Manage Locallab mask visibility:
* - Mask preview is updated when choosing a mask preview method
* - Mask preview is also updated when modifying (to avoid hidding a potentially visible mask combobox):
* - Color&Light invers
* - Exposure inversex
* - Shadow Highlight inverssh
* - Soft Light softMethod
* - Mask preview is stopped when creating, deleting or selecting a spot
* - Mask preview is also stopped when removing a spot or resetting all mask visibility
*/
if (event == rtengine::EvlocallabshowmaskMethod) {
const Locallab::llMaskVisibility maskStruc = locallab->getMaskVisibility();
@@ -523,7 +529,8 @@ void ToolPanelCoordinator::panelChanged(const rtengine::ProcEvent& event, const
maskStruc.blMask, maskStruc.tmMask, maskStruc.retiMask, maskStruc.sharMask,
maskStruc.lcMask, maskStruc.cbMask);
} else if (event == rtengine::EvLocallabSpotCreated || event == rtengine::EvLocallabSpotSelectedWithMask ||
event == rtengine::EvLocallabSpotDeleted || event == rtengine::Evlocallabshowreset) {
event == rtengine::EvLocallabSpotDeleted || event == rtengine::Evlocallabshowreset ||
event == rtengine::EvlocallabToolRemovedWithRefresh || event == rtengine::EvlocallabToolRemovedWithoutRefresh) {
locallab->resetMaskVisibility();
ipc->setLocallabMaskVisibility(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
}