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 ufraw-cvs@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/ufraw-cvs