On 07/16/2009 08:26 AM, Roman Joost wrote:
Hi,
I thought it would be handy, if my XMPModel which stores the XMP
metadata could emit it's own signals if properties or schemas change.
I'm just wondering what I'm doing wrong here. If there is more code
needed, I could probably attach it to a bug or put it on the net
somewhere.
Am I mixing some fundamentals of Gtk and GObject programming here?
Hi,
The errors are due to that header files are included in the wrong order
in the translation units (c files). Moving these around a bit solves
your compilation problems, I've attached a patch that should be applied
on top of your patch. (You can squash the commits together with an
interactive git rebase)
There are alternative ways to attack this problem, one is to add a
metadata-types.h header file with
typedef struct _XMPType XMPType;
...
and then include that early in the .c files. That way the order of
inclusion below does not matter
BR,
Martin
From a6793ad5b6c8048bbbdb4678048cfa41d3fc934a Mon Sep 17 00:00:00 2001
From: Martin Nordholts mart...@src.gnome.org
Date: Thu, 16 Jul 2009 16:19:34 +0200
Subject: [PATCH] Fix compilation for WiP metadata plug-in
---
plug-ins/metadata/exif-decode.c |2 +-
plug-ins/metadata/interface.c |3 ++-
plug-ins/metadata/interface.h |1 -
plug-ins/metadata/metadata.c|3 +++
plug-ins/metadata/xmp-encode.c |2 +-
plug-ins/metadata/xmp-encode.h |1 +
plug-ins/metadata/xmp-model.c |6 ++
plug-ins/metadata/xmp-schemas.c |5 -
8 files changed, 18 insertions(+), 5 deletions(-)
diff --git a/plug-ins/metadata/exif-decode.c b/plug-ins/metadata/exif-decode.c
index 8123ad0..013d0be 100644
--- a/plug-ins/metadata/exif-decode.c
+++ b/plug-ins/metadata/exif-decode.c
@@ -28,8 +28,8 @@
#include libexif/exif-data.h
-#include xmp-model.h
#include xmp-schemas.h
+#include xmp-model.h
#include exif-decode.h
diff --git a/plug-ins/metadata/interface.c b/plug-ins/metadata/interface.c
index 12cf001..8cf9614 100644
--- a/plug-ins/metadata/interface.c
+++ b/plug-ins/metadata/interface.c
@@ -48,9 +48,10 @@
#include libgimp/stdplugins-intl.h
+#include xmp-schemas.h
+#include xmp-model.h
#include interface.h
#include metadata.h
-#include xmp-schemas.h
#include xmp-encode.h
diff --git a/plug-ins/metadata/interface.h b/plug-ins/metadata/interface.h
index efe1ae3..804a36c 100644
--- a/plug-ins/metadata/interface.h
+++ b/plug-ins/metadata/interface.h
@@ -21,7 +21,6 @@
#define INTERFACE_H
#include glib.h
-#include xmp-model.h
G_BEGIN_DECLS
diff --git a/plug-ins/metadata/metadata.c b/plug-ins/metadata/metadata.c
index 8e59a2f..1b3fda3 100644
--- a/plug-ins/metadata/metadata.c
+++ b/plug-ins/metadata/metadata.c
@@ -21,6 +21,8 @@
#include string.h
+#include gtk/gtk.h
+
#include libgimp/gimp.h
#include libexif/exif-data.h
@@ -28,6 +30,7 @@
#include libgimp/stdplugins-intl.h
#include metadata.h
+#include xmp-schemas.h
#include xmp-encode.h
#include interface.h
#include exif-decode.h
diff --git a/plug-ins/metadata/xmp-encode.c b/plug-ins/metadata/xmp-encode.c
index 485dfc0..7d85171 100644
--- a/plug-ins/metadata/xmp-encode.c
+++ b/plug-ins/metadata/xmp-encode.c
@@ -21,7 +21,7 @@
#include string.h
-#include glib-object.h
+#include gtk/gtk.h
#include libgimp/gimp.h
diff --git a/plug-ins/metadata/xmp-encode.h b/plug-ins/metadata/xmp-encode.h
index e546730..1959d4f 100644
--- a/plug-ins/metadata/xmp-encode.h
+++ b/plug-ins/metadata/xmp-encode.h
@@ -20,6 +20,7 @@
#define XMP_ENCODE_H
#include glib.h
+#include xmp-schemas.h
#include xmp-model.h
G_BEGIN_DECLS
diff --git a/plug-ins/metadata/xmp-model.c b/plug-ins/metadata/xmp-model.c
index 8f4cccf..9bf9f69 100644
--- a/plug-ins/metadata/xmp-model.c
+++ b/plug-ins/metadata/xmp-model.c
@@ -58,6 +58,12 @@ xmp_model_class_init (XMPModelClass *klass)
klass-property_changed = NULL;
}
+
+static void
+xmp_model_init (XMPModel *xmp_model)
+{
+}
+
/**
* xmp_model_new:
*
diff --git a/plug-ins/metadata/xmp-schemas.c b/plug-ins/metadata/xmp-schemas.c
index e97b1f8..08a8e02 100644
--- a/plug-ins/metadata/xmp-schemas.c
+++ b/plug-ins/metadata/xmp-schemas.c
@@ -18,8 +18,11 @@
*/
#include config.h
-#include xmp-model.h
+
+#include gtk/gtk.h
+
#include xmp-schemas.h
+#include xmp-model.h
static XMPProperty dc_properties[] =
{
--
1.6.2.5
___
Gimp-developer mailing list
Gimp-developer@lists.XCF.Berkeley.EDU
https://lists.XCF.Berkeley.EDU/mailman/listinfo/gimp-developer