Author: Diego Barrios Romero <[email protected]>
Date: Tue Mar 13 20:21:04 2012 +0100
Apply patch #3424218 partially. Fix compiling issues with clang compiler
Thanks to Hisashi Todd Fujinaka
---
synfig-core/src/synfig/canvas.h | 12 +++++++-----
synfig-core/src/synfig/color.h | 2 ++
synfig-core/src/synfig/guidset.h | 3 +++
synfig-core/src/synfig/loadcanvas.cpp | 3 ++-
synfig-core/src/synfig/vector.h | 2 ++
5 files changed, 16 insertions(+), 6 deletions(-)
diff --git a/synfig-core/src/synfig/canvas.h b/synfig-core/src/synfig/canvas.h
index 84603f7..a4e0d11 100644
--- a/synfig-core/src/synfig/canvas.h
+++ b/synfig-core/src/synfig/canvas.h
@@ -122,6 +122,13 @@ namespace synfig {
class Context;
class GUID;
+class Canvas;
+
+typedef etl::handle<Canvas> CanvasHandle;
+
+//! Optimize layers based on its calculated Z depth to perform a quick
+//! render of the layers to the output.
+void optimize_layers(Time, Context, CanvasHandle, bool seen_motion_blur=false);
/*! \class Canvas
** \brief Canvas is a double ended queue of Layers. It is the base class
@@ -626,11 +633,6 @@ protected:
virtual void get_times_vfunc(Node::time_set &set) const;
}; // END of class Canvas
- //! Optimize layers based on its calculated Z depth to perform a quick
- //! render of the layers to the output.
-void optimize_layers(Time time, Context context, Canvas::Handle op_canvas,
bool seen_motion_blur=false);
-
-
}; // END of namespace synfig
/* === E N D =============================================================== */
diff --git a/synfig-core/src/synfig/color.h b/synfig-core/src/synfig/color.h
index fc5f680..82657d9 100644
--- a/synfig-core/src/synfig/color.h
+++ b/synfig-core/src/synfig/color.h
@@ -63,6 +63,8 @@ extern "C" { int _isnan(double x); }
inline bool isnan(double x) { return x != x; }
inline bool isnan(float x) { return x != x; }
#define SYNFIG_ISNAN_FIX 1
+#else
+#define isnan std::isnan
#endif
namespace synfig {
diff --git a/synfig-core/src/synfig/guidset.h b/synfig-core/src/synfig/guidset.h
index 32d6127..1855107 100644
--- a/synfig-core/src/synfig/guidset.h
+++ b/synfig-core/src/synfig/guidset.h
@@ -48,6 +48,9 @@ class GUIDSet : public
#ifdef HASH_SET_H
std::set<synfig::GUID>
#else
+#ifndef HAS_SET_CLASS
+#define HASH_SET_CLASS HASH_SET_NAMESPACE::hash_set
+#endif
HASH_SET_CLASS<synfig::GUID,synfig::GUIDHash>
#endif
{
diff --git a/synfig-core/src/synfig/loadcanvas.cpp
b/synfig-core/src/synfig/loadcanvas.cpp
index 375e84e..c283ddf 100644
--- a/synfig-core/src/synfig/loadcanvas.cpp
+++ b/synfig-core/src/synfig/loadcanvas.cpp
@@ -1507,7 +1507,8 @@ CanvasParser::parse_linkable_value_node(xmlpp::Element
*element,Canvas::Handle c
}
handle<LinkableValueNode>
value_node=LinkableValueNode::create(element->get_name(),type);
- handle<ValueNode> c[value_node->link_count()];
+ //handle<ValueNode> c[value_node->link_count()]; changed because of
clang complain
+ std::vector<handle<ValueNode> > c(value_node->link_count());
if(!value_node)
{
diff --git a/synfig-core/src/synfig/vector.h b/synfig-core/src/synfig/vector.h
index 46baff8..5353e1d 100644
--- a/synfig-core/src/synfig/vector.h
+++ b/synfig-core/src/synfig/vector.h
@@ -52,6 +52,8 @@ extern "C" { int _isnan(double x); }
inline bool isnan(double x) { return x != x; }
inline bool isnan(float x) { return x != x; }
#define SYNFIG_ISNAN_FIX 1
+#else
+#define isnan std::isnan
#endif
------------------------------------------------------------------------------
This SF email is sponsosred by:
Try Windows Azure free for 90 days Click Here
http://p.sf.net/sfu/sfd2d-msazure
_______________________________________________
Synfig-devl mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/synfig-devl