Update of /cvsroot/ufraw/ufraw
In directory sfp-cvsdas-2.v30.ch3.sourceforge.com:/tmp/cvs-serv19645
Modified Files:
ufraw_settings.cc ufraw_ufraw.c
Log Message:
Use channel multipliers from configuration when make and model match.
Fix bug where make and model in uf->conf were not from current raw file.
Index: ufraw_settings.cc
===================================================================
RCS file: /cvsroot/ufraw/ufraw/ufraw_settings.cc,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -d -r1.1 -r1.2
--- ufraw_settings.cc 27 Jan 2010 21:23:22 -0000 1.1
+++ ufraw_settings.cc 11 Feb 2010 20:51:26 -0000 1.2
@@ -228,7 +228,8 @@
if (uf == NULL)
return;
if (uf->rgbMax == 0) { // Raw file was not loaded yet.
- uf->WBDirty = true;
+ if (!wb.IsEqual(uf_manual_wb) && !wb.IsEqual(uf_manual_wb))
+ uf->WBDirty = true; // ChannelMultipliers should be calculated later
return;
}
if (mode != NULL)
Index: ufraw_ufraw.c
===================================================================
RCS file: /cvsroot/ufraw/ufraw/ufraw_ufraw.c,v
retrieving revision 1.236
retrieving revision 1.237
diff -u -d -r1.236 -r1.237
--- ufraw_ufraw.c 10 Feb 2010 23:37:02 -0000 1.236
+++ ufraw_ufraw.c 11 Feb 2010 20:51:26 -0000 1.237
@@ -403,15 +403,6 @@
ufobject_copy(uf->conf->ufobject,
ufgroup_element(rc->ufobject, ufRawImage));
}
-
- if (ufobject_name(uf->conf->ufobject) != ufRawImage)
- g_warning("uf->conf->ufobject is not a ufRawImage");
- dcraw_data *raw = uf->raw;
- // make, model are used in ufraw_image_set_data()
- g_strlcpy(uf->conf->make, raw->make, max_name);
- g_strlcpy(uf->conf->model, raw->model, max_name);
- ufraw_image_set_data(uf->conf->ufobject, uf);
-
if (conf!=NULL && conf->version!=0) {
conf_copy_image(uf->conf, conf);
conf_copy_save(uf->conf, conf);
@@ -424,6 +415,16 @@
status = conf_set_cmd(uf->conf, cmd);
if (status!=UFRAW_SUCCESS) return status;
}
+ if (ufobject_name(uf->conf->ufobject) != ufRawImage)
+ g_warning("uf->conf->ufobject is not a ufRawImage");
+ dcraw_data *raw = uf->raw;
+ if (strcmp(uf->conf->make, raw->make) != 0 ||
+ strcmp(uf->conf->model, raw->model) != 0)
+ uf->WBDirty =TRUE; // Re-calculate channel multipliers.
+ // make, model are used in ufraw_image_set_data()
+ g_strlcpy(uf->conf->make, raw->make, max_name);
+ g_strlcpy(uf->conf->model, raw->model, max_name);
+ ufraw_image_set_data(uf->conf->ufobject, uf);
char *absname = uf_file_set_absolute(uf->filename);
g_strlcpy(uf->conf->inputFilename, absname, max_path);
@@ -660,8 +661,8 @@
if (uf->conf->CropY2 > uf->rotatedHeight)
uf->conf->CropY2 = uf->rotatedHeight;
- // If we are LoadingID, we want to keep the ChannelMultipliers from it.
- if (!uf->LoadingID || uf->WBDirty) {
+ // Now we can finally calculate the channel multipliers.
+ if (uf->WBDirty) {
UFObject *wb = ufgroup_element(uf->conf->ufobject, ufWB);
char *oldWB = g_strdup(ufobject_string_value(wb));
UFObject *wbTuning = ufgroup_element(uf->conf->ufobject,
------------------------------------------------------------------------------
SOLARIS 10 is the OS for Data Centers - provides features such as DTrace,
Predictive Self Healing and Award Winning ZFS. Get Solaris 10 NOW
http://p.sf.net/sfu/solaris-dev2dev
_______________________________________________
ufraw-cvs mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/ufraw-cvs