Update of /cvsroot/ufraw/ufraw
In directory sfp-cvsdas-2.v30.ch3.sourceforge.com:/tmp/cvs-serv29307
Modified Files:
uf_gtk.cc ufraw.h ufraw_developer.c ufraw_preview.c
ufraw_ufraw.c
Log Message:
Reduced the number of calls to ufraw_developer_prepare() from
ufraw_preview to 1.
Index: ufraw.h
===================================================================
RCS file: /cvsroot/ufraw/ufraw/ufraw.h,v
retrieving revision 1.138
retrieving revision 1.139
diff -u -d -r1.138 -r1.139
--- ufraw.h 25 Nov 2009 16:15:45 -0000 1.138
+++ ufraw.h 27 Nov 2009 07:18:23 -0000 1.139
@@ -278,8 +278,9 @@
gsize unzippedBufLen;
developer_data *developer;
developer_data *AutoDeveloper;
+ guint8 *displayProfile;
+ gint displayProfileSize;
conf_data *conf;
- void *widget;
guchar *inputExifBuf;
guint inputExifBufLen;
guchar *outputExifBuf;
Index: ufraw_developer.c
===================================================================
RCS file: /cvsroot/ufraw/ufraw/ufraw_developer.c,v
retrieving revision 1.77
retrieving revision 1.78
diff -u -d -r1.77 -r1.78
--- ufraw_developer.c 31 Oct 2009 01:59:19 -0000 1.77
+++ ufraw_developer.c 27 Nov 2009 07:18:23 -0000 1.78
@@ -136,7 +136,6 @@
if ( profile!=NULL ) {
if (d->profile[type]!=NULL) cmsCloseProfile(d->profile[type]);
d->profile[type] = cmsOpenProfileFromMem(profile, size);
- g_free(profile);
// If embedded profile is invalid fall-back to sRGB
if (d->profile[type]==NULL)
d->profile[type] = cmsCreate_sRGBProfile();
Index: ufraw_ufraw.c
===================================================================
RCS file: /cvsroot/ufraw/ufraw/ufraw_ufraw.c,v
retrieving revision 1.220
retrieving revision 1.221
diff -u -d -r1.220 -r1.221
--- ufraw_ufraw.c 25 Nov 2009 16:15:45 -0000 1.220
+++ ufraw_ufraw.c 27 Nov 2009 07:18:23 -0000 1.221
@@ -253,7 +253,8 @@
uf->raw_color = raw->raw_color;
uf->developer = NULL;
uf->AutoDeveloper = NULL;
- uf->widget = NULL;
+ uf->displayProfile = NULL;
+ uf->displayProfileSize = 0;
uf->RawHistogram = NULL;
uf->HaveFilters = raw->filters!=0;
#ifdef HAVE_LENSFUN
@@ -676,6 +677,7 @@
g_free(uf->thumb.buffer);
developer_destroy(uf->developer);
developer_destroy(uf->AutoDeveloper);
+ g_free(uf->displayProfile);
g_free(uf->RawHistogram);
#ifdef HAVE_LENSFUN
g_free(uf->modifier);
@@ -730,6 +732,16 @@
} else {
if ( uf->developer==NULL )
uf->developer = developer_init();
+ if (mode == display_developer) {
+ if ( uf->conf->profileIndex[display_profile]!=0 ) {
+ g_free(uf->displayProfile);
+ uf->displayProfile = NULL;
+ }
+ developer_display_profile(uf->developer, uf->displayProfile,
+ uf->displayProfileSize,
+ uf->conf->profile[display_profile]
+ [uf->conf->profileIndex[display_profile]].productName);
+ }
developer_prepare(uf->developer, uf->conf,
uf->rgbMax, uf->rgb_cam, uf->colors, useMatrix, mode);
}
Index: ufraw_preview.c
===================================================================
RCS file: /cvsroot/ufraw/ufraw/ufraw_preview.c,v
retrieving revision 1.313
retrieving revision 1.314
diff -u -d -r1.313 -r1.314
--- ufraw_preview.c 27 Nov 2009 04:15:37 -0000 1.313
+++ ufraw_preview.c 27 Nov 2009 07:18:23 -0000 1.314
@@ -950,17 +950,8 @@
gtk_label_set_text(GTK_LABEL(data->BlackLabel), text);
if ( CFG->profileIndex[display_profile]==0 ) {
- guint8 *displayProfile;
- gint profileSize;
- uf_get_display_profile(data->PreviewWidget, &displayProfile,
- &profileSize);
- developer_display_profile(Developer, displayProfile, profileSize,
- CFG->profile[display_profile]
- [CFG->profileIndex[display_profile]].productName);
- } else {
- developer_display_profile(Developer, NULL, 0,
- CFG->profile[display_profile]
- [CFG->profileIndex[display_profile]].productName);
+ uf_get_display_profile(data->PreviewWidget, &data->UF->displayProfile,
+ &data->UF->displayProfileSize);
}
ufraw_developer_prepare(data->UF, display_developer);
ufraw_convert_prepare_buffers(data->UF);
@@ -5515,7 +5506,6 @@
G_CALLBACK(control_button_key_press_event), data);
g_object_set_data(G_OBJECT(previewWindow), "Preview-Data", data);
ufraw_focus(previewWindow, TRUE);
- uf->widget = previewWindow;
/* With the following guesses the window usually fits into the screen.
* There should be more intelligent settings to window size. */
@@ -5871,9 +5861,6 @@
CFG->size = 0;
}
- /* There's another call in render_preview_now() and both are needed */
- ufraw_developer_prepare(uf, display_developer);
-
/* Save initial WB data for the sake of "Reset WB" */
g_strlcpy(data->initialWB, CFG->wb, max_name);
data->initialTemperature = CFG->temperature;
Index: uf_gtk.cc
===================================================================
RCS file: /cvsroot/ufraw/ufraw/uf_gtk.cc,v
retrieving revision 1.13
retrieving revision 1.14
diff -u -d -r1.13 -r1.14
--- uf_gtk.cc 3 Jul 2008 15:45:06 -0000 1.13
+++ uf_gtk.cc 27 Nov 2009 07:18:23 -0000 1.14
@@ -257,9 +257,11 @@
}
#endif /* GDK_WINDOWING_QUARTZ */
+// On X11 the display profile can be embedded using the 'xicc' command.
void uf_get_display_profile(GtkWidget *widget,
guint8 **buffer, gint *buffer_size)
{
+ g_free(*buffer);
*buffer = NULL;
*buffer_size = 0;
#if defined GDK_WINDOWING_X11
------------------------------------------------------------------------------
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day
trial. Simplify your report design, integration and deployment - and focus on
what you do best, core application coding. Discover what's new with
Crystal Reports now. http://p.sf.net/sfu/bobj-july
_______________________________________________
ufraw-cvs mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/ufraw-cvs