tasn pushed a commit to branch master. http://git.enlightenment.org/bindings/cxx/eflxx.git/commit/?id=319fec89d18533027a37748a87b1b17b1c04eff4
commit 319fec89d18533027a37748a87b1b17b1c04eff4 Author: Andreas Volz <li...@brachttal.net> Date: Mon Dec 5 23:44:56 2011 +0000 - some namespace problems - commit a workaround that prevents to delete(this) an object; need to do more debugging with this design. Something is wrong! SVN revision: 65926 --- eflxx/include/eflxx/Common.h | 8 ++++---- elementaryxx/src/Object.cpp | 4 ++-- evasxx/include/evasxx/Canvas.h | 2 +- evasxx/include/evasxx/Object.h | 2 +- 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/eflxx/include/eflxx/Common.h b/eflxx/include/eflxx/Common.h index b72f255..4b9cbcf 100644 --- a/eflxx/include/eflxx/Common.h +++ b/eflxx/include/eflxx/Common.h @@ -134,19 +134,19 @@ class Color int _a; }; -inline std::ostream& operator<<( ostream& s, const Color& color ) +inline std::ostream& operator<<( std::ostream& s, const Color& color ) { return s << "(RGBA " << color.red() << "," << color.green() << "," << color.blue() << "," << color.alpha() << ")"; } -inline std::ostream& operator<<( ostream& s, const Point& point ) +inline std::ostream& operator<<( std::ostream& s, const Point& point ) { return s << "(" << point.x() << "," << point.y() << ")"; } -inline std::ostream& operator<<( ostream& s, const Size& size ) +inline std::ostream& operator<<( std::ostream& s, const Size& size ) { return s << "(" << size.width() << "*" << size.height() << ")"; } -inline std::ostream& operator<<( ostream& s, const Rect& rect ) +inline std::ostream& operator<<( std::ostream& s, const Rect& rect ) { return s << "(" << rect.x() << "," << rect.y() << "*" << rect.width() << "," << rect.height() << ")"; } diff --git a/elementaryxx/src/Object.cpp b/elementaryxx/src/Object.cpp index aabd7af..a8c9292 100644 --- a/elementaryxx/src/Object.cpp +++ b/elementaryxx/src/Object.cpp @@ -31,12 +31,12 @@ void Object::destroy () // do a suicide as the delete operator isn't public available // the reason is that the C design below is a suicide design :-( - delete (this); + //delete (this); // TODO: why does this make problems sometimes??? } void Object::freeSignalHandler () { - //cout << "freeSignalHandler()" << endl; + cout << "freeSignalHandler()" << endl; delete (this); // !!!ATTENTION!!! // suicide for a C++ object is dangerous, but allowed diff --git a/evasxx/include/evasxx/Canvas.h b/evasxx/include/evasxx/Canvas.h index f5d3585..098e23b 100644 --- a/evasxx/include/evasxx/Canvas.h +++ b/evasxx/include/evasxx/Canvas.h @@ -100,7 +100,7 @@ private: bool mFree; }; -inline ostream& operator<<( ostream& s, const Canvas& canvas ) +inline std::ostream& operator<<( std::ostream& s, const Canvas& canvas ) { return s << "(Canvas)"; } diff --git a/evasxx/include/evasxx/Object.h b/evasxx/include/evasxx/Object.h index 44195e1..dcf7a68 100644 --- a/evasxx/include/evasxx/Object.h +++ b/evasxx/include/evasxx/Object.h @@ -246,7 +246,7 @@ private: bool operator=(const Object& ); // disable assignment operator }; -inline ostream& operator<<( ostream& s, const Object& obj ) +inline std::ostream& operator<<( std::ostream& s, const Object& obj ) { return s << "<" << " Object '" << obj.getName() << "' @ " << obj.getGeometry() << ">"; } --