Batch queue/preview stability enhancements; see issue #611

This commit is contained in:
Oliver Duis
2011-04-02 11:12:22 +02:00
parent 5af8524ae2
commit 0de4f199f0
20 changed files with 138 additions and 139 deletions

View File

@@ -135,7 +135,8 @@ void ImProcCoordinator::updatePreviewImage (int todo, Crop* cropCall) {
imgsrc->demosaic( rp );
}
if (todo & M_INIT) {
minit.lock ();
Glib::Mutex::Lock lock(minit);
if (settings->verbose) printf ("Applying white balance, color correction & sRBG conversion...\n");
currWB = ColorTemp (params.wb.temperature, params.wb.green);
if (params.wb.method=="Camera")
@@ -163,7 +164,6 @@ void ImProcCoordinator::updatePreviewImage (int todo, Crop* cropCall) {
progress ("Sample ...",45);
imgsrc->getImage (currWB, tr, orig_prev, pp, params.hlrecovery, params.icm, params.raw);
ipf.firstAnalysis (orig_prev, &params, vhist16, imgsrc->getGamma());
minit.unlock ();
}
progress ("Rotate / Distortion...",50);
@@ -569,7 +569,7 @@ void ImProcCoordinator::startProcessing () {
void ImProcCoordinator::process () {
if (plistener)
plistener->setProgressState (1);
plistener->setProgressState (true);
paramsUpdateMutex.lock ();
while (changeSinceLast) {
@@ -585,7 +585,7 @@ void ImProcCoordinator::process () {
updaterRunning = false;
if (plistener)
plistener->setProgressState (0);
plistener->setProgressState (false);
}
ProcParams* ImProcCoordinator::getParamsForUpdate (ProcEvent change) {