2006-10-17 Tim-Philipp Müller <tim at centricular dot net>
+ Patch by: Peter Kjellerstedt <pkj at axis com>
+
+ * gst/gstobject.h:
+ Don't define xmlNodePtr to gpointer if the core was built with
+ --disable-loadsave and --disable-registry, this will break
+ applications that want to use libxml2 but are buildling against a
+ core that doesn't use libxml2. Use an intermediary type GstXmlNodePtr
+ instead so we don't have to mess with the libxml2 namespace
+ (#361675).
+
+2006-10-17 Tim-Philipp Müller <tim at centricular dot net>
+
* gst/gstbuffer.h:
Fix gst_buffer_replace() macro to avoid gst_mini_object_replace()-related
type-punned pointer warnings.
/* make sure we don't change the object size but still make it compile
* without libxml */
#ifdef GST_DISABLE_LOADSAVE_REGISTRY
-#define xmlNodePtr gpointer
+#define GstXmlNodePtr gpointer
+#else
+#define GstXmlNodePtr xmlNodePtr
#endif
/**
GStaticRecMutex *lock;
/* signals */
- void (*parent_set) (GstObject *object, GstObject *parent);
- void (*parent_unset) (GstObject *object, GstObject *parent);
- void (*object_saved) (GstObject *object, xmlNodePtr parent);
- void (*deep_notify) (GstObject *object, GstObject *orig, GParamSpec *pspec);
+ void (*parent_set) (GstObject * object, GstObject * parent);
+ void (*parent_unset) (GstObject * object, GstObject * parent);
+ void (*object_saved) (GstObject * object, GstXmlNodePtr parent);
+ void (*deep_notify) (GstObject * object, GstObject * orig, GParamSpec * pspec);
/*< public >*/
/* virtual methods for subclasses */
- xmlNodePtr (*save_thyself) (GstObject *object, xmlNodePtr parent);
- void (*restore_thyself) (GstObject *object, xmlNodePtr self);
+ GstXmlNodePtr (*save_thyself) (GstObject * object, GstXmlNodePtr parent);
+ void (*restore_thyself) (GstObject * object, GstXmlNodePtr self);
/*< private >*/
gpointer _gst_reserved[GST_PADDING];
/* load/save */
#ifndef GST_DISABLE_LOADSAVE_REGISTRY
-xmlNodePtr gst_object_save_thyself (GstObject *object, xmlNodePtr parent);
-void gst_object_restore_thyself (GstObject *object, xmlNodePtr self);
+GstXmlNodePtr gst_object_save_thyself (GstObject *object, GstXmlNodePtr parent);
+void gst_object_restore_thyself (GstObject *object, GstXmlNodePtr self);
#else
#if defined _GNUC_ && _GNUC_ >= 3
#pragma GCC poison gst_object_save_thyself
gpointer func_data);
#ifndef GST_DISABLE_LOADSAVE_REGISTRY
-void gst_class_signal_emit_by_name (GstObject *object,
- const gchar *name,
- xmlNodePtr self);
+void gst_class_signal_emit_by_name (GstObject * object,
+ const gchar * name,
+ GstXmlNodePtr self);
#else
#if defined _GNUC_ && _GNUC_ >= 3
#pragma GCC poison gst_class_signal_emit_by_name