GNOME Bugzilla – Bug 509149
Build failure for eog-properties-dialog.c
Last modified: 2008-01-14 16:11:32 UTC
eog-properties-dialog.c: In function 'pd_update_metadata_tab': eog-properties-dialog.c:268: error: 'EogPropertiesDialogPrivate' has no member named 'exif_box' eog-properties-dialog.c:269: error: 'EogPropertiesDialogPrivate' has no member named 'exif_box' eog-properties-dialog.c:273: error: 'EogPropertiesDialogPrivate' has no member named 'exif_box' eog-properties-dialog.c:274: error: 'EogPropertiesDialogPrivate' has no member named 'exif_box' eog-properties-dialog.c:344: warning: implicit declaration of function 'eog_exif_details_xmp_update' eog-properties-dialog.c:344: warning: implicit declaration of function 'EOG_EXIF_DETAILS' eog-properties-dialog.c: In function 'eog_properties_dialog_init': eog-properties-dialog.c:588: warning: implicit declaration of function 'eog_exif_details_new' eog-properties-dialog.c:588: warning: assignment makes pointer from integer without a cast make[3]: *** [libeog_la-eog-properties-dialog.lo] Error 1 Could it be related to Exempi trunk?
I think I know what's happening. "exif_box" is the container for the widgets on the "Metadata"-tab and is currently ifdeffed out if compiling without libexif. But as you compile with exempi the box is unfortunately still needed. We need to check the ifdeffing (and possibly give the box a better name) here.
Felix, are you into this? It would be nice to fix this before today's release.
Created attachment 102814 [details] [review] patch Problem is that EXIF and EXEMPI support are not really orthogonal as they should (EXEMPI is dependent on EXIF). A proper fix would rename some "exif" objects to "metadata", and make support of both metadata sources independent. This patch partially fixes the problem on that it compiles and works without EXIF but with EXEMPI support. I can't really test if EXEMPI is actually working as I don't have images with that metadata.
In images without metadata, the patch wrongly shows the metadata tab. It needs to be improved.
Created attachment 102819 [details] [review] improved version This seems to fix it.
Created attachment 102820 [details] [review] noch besser This removes an unneeded #ifdef/#endif and also adds a minor improvement to current state. Currently, if compiled without exif but with exempi, for images with exif metadata, the properties dialog will show the metadata tab empty. The reason, eog_image_has_data returns true for EXIF, even if we don't have libexif. This patch also fixes that issue.
(In reply to comment #2) > Felix, are you into this? It would be nice to fix this before today's release. > Thanks for taking over, Claudio. I tried to complete a patch yesterday, but it had some crasher problem I couldn't find, so I stopped wanting to start again today. But you were quicker than me. :-) (In reply to comment #6) > Created an attachment (id=102820) [edit] > noch besser > > ... That one looks and works pretty well. I tried the combination libexif + exempi and exempi-only and both seem to behave as expected (although my 4 xmp-test-images mostly only contain some standard Photoshop tags; but I guess that shouldn't matter).
Thanks for testing, Felix. I've commmitted to trunk (rev. 4311). I still think we need to split/rename the EXIF support from the most general metadata support, but I'll open a different bug for that. 2008-01-14 Claudio Saavedra <csaavedra@alumnos.utalca.cl> * src/eog-exif-details.c: * src/eog-properties-dialog.c: (pd_update_metadata_tab), (eog_properties_dialog_init): Fix build when compiled without libexif support but with exempi enabled. Fixes bug #509149.