Fix control line edit crash when undoing history
When perspective control line editing is active and the history entry is changed such that edit mode is automatically disabled, there is a crash. The history change triggers a processing parameters update and disables editing. When editing is disabled, the perspective tool also tries to update the processing parameters, causing a double mutex lock attempt. This commit avoids updating parameters from the perspective tool and uses the tweak operator (introduced with the spot removal tool) to achieve the same effect. Closes #6251.
This commit is contained in:
@@ -24,6 +24,7 @@
|
||||
#include "controllines.h"
|
||||
#include "lensgeomlistener.h"
|
||||
#include "toolpanel.h"
|
||||
#include "../rtengine/tweakoperator.h"
|
||||
|
||||
class PerspCorrectionPanelListener
|
||||
{
|
||||
@@ -34,6 +35,7 @@ public:
|
||||
};
|
||||
|
||||
class PerspCorrection final :
|
||||
public rtengine::TweakOperator,
|
||||
public ToolParamBlock,
|
||||
public AdjusterListener,
|
||||
public FoldableToolPanel
|
||||
@@ -91,6 +93,7 @@ protected:
|
||||
const rtengine::FramesMetaData* metadata;
|
||||
|
||||
void applyControlLines (void);
|
||||
void tweakParams(rtengine::procparams::ProcParams &pparams) override;
|
||||
void setCamBasedEventsActive (bool active = true);
|
||||
void setFocalLengthValue (const rtengine::procparams::ProcParams* pparams, const rtengine::FramesMetaData* metadata);
|
||||
|
||||
|
Reference in New Issue
Block a user