blend-if color picker in Soften tool takes 2 clicks before it updates the first time it is used
go to Soften module. Reset it. Pick Blend Mode=Normal, and Blend Only If. Click the picker tool which is part of the Only If panel. A cross appears in the center of the image. Note where the line corresponding to the picked point appears in the mask definition. Now click on the image on a location which is going to make the line move (so on a bright area if the current line is in the dark range and the g(rey) mask filter is displayed, for example). Note that the line did not move. You have to click a 2nd time for it to really sample and update the position of the input and output lines.
After this just a single click works. Also this seems to be specific to the Soften module. Or at least I can't recreate it with the Velvia module.
#2 Updated by Ulrich Pegelow over 7 years ago
The key problem is lack of synchronization between color picker and expose events.
When the color picker is positioned or moved - mouse_moved() or button_pressed() in darkroom.c - preview pipe is marked as changed,
so it is reprocessed and gui is redrawn by calling dt_control_queue_redraw(). Reprocessing of preview pipe is needed as this allows
color picker data to be newly collected at the specified new location.
If we have a fast module, everything is fine. Color picker data are available quickly and are displayed correctly (e.g. tonecurve). On slow modules like
soften, highpass, equalizer... gui is updated before the pixelpipe is finished -> old picker data are displayed. This is also true
for blendif sliders which are updated by _blendop_blendif_expose().
What we need is some kind of synchronization.