[Hdrflow-svn] SF.net SVN: hdrflow: [164] trunk/lib/openlibraries/src
Status: Pre-Alpha
Brought to you by:
glslang
From: <gl...@us...> - 2007-06-25 20:58:22
|
Revision: 164 http://hdrflow.svn.sourceforge.net/hdrflow/?rev=164&view=rev Author: glslang Date: 2007-06-25 13:57:56 -0700 (Mon, 25 Jun 2007) Log Message: ----------- + changes to proper use discovery plugin item within an STL container Modified Paths: -------------- trunk/lib/openlibraries/src/openobjectlib/sg/appearance.cpp trunk/lib/openlibraries/src/openpluginlib/pl/openpluginlib.cpp trunk/lib/openlibraries/src/openpluginlib/pl/openpluginlib.hpp Modified: trunk/lib/openlibraries/src/openobjectlib/sg/appearance.cpp =================================================================== --- trunk/lib/openlibraries/src/openobjectlib/sg/appearance.cpp 2007-06-25 19:09:09 UTC (rev 163) +++ trunk/lib/openlibraries/src/openobjectlib/sg/appearance.cpp 2007-06-25 20:57:56 UTC (rev 164) @@ -141,7 +141,7 @@ if( plugins.empty( ) ) return false; oil_discovery::const_iterator i = plugins.begin( ); - boost::shared_ptr<il::openimagelib_plugin> plug = boost::shared_static_cast<il::openimagelib_plugin>( i->create_plugin( "" ) ); + il::openimagelib_plugin_ptr plug = boost::shared_dynamic_cast<il::openimagelib_plugin>( i->create_plugin( "" ) ); if( !plug ) return false; im_ = plug->load( path ); Modified: trunk/lib/openlibraries/src/openpluginlib/pl/openpluginlib.cpp =================================================================== --- trunk/lib/openlibraries/src/openpluginlib/pl/openpluginlib.cpp 2007-06-25 19:09:09 UTC (rev 163) +++ trunk/lib/openlibraries/src/openpluginlib/pl/openpluginlib.cpp 2007-06-25 20:57:56 UTC (rev 164) @@ -231,7 +231,7 @@ opl_ptr discover_query_impl::plugin_proxy::create_plugin( const string& options ) const { if( !item_.resolver.dlopened ) - acquire_shared_symbols( item_.resolver, item_.filename ); + acquire_shared_symbols( const_cast<plugin_resolver&>( item_.resolver ), item_.filename ); if( item_.resolver.dlopened ) { Modified: trunk/lib/openlibraries/src/openpluginlib/pl/openpluginlib.hpp =================================================================== --- trunk/lib/openlibraries/src/openpluginlib/pl/openpluginlib.hpp 2007-06-25 19:09:09 UTC (rev 163) +++ trunk/lib/openlibraries/src/openpluginlib/pl/openpluginlib.hpp 2007-06-25 20:57:56 UTC (rev 164) @@ -44,16 +44,10 @@ class OPENPLUGINLIB_DECLSPEC plugin_proxy { public: - plugin_proxy( plugin_item& item ) + plugin_proxy( plugin_item item ) : item_( item ) { } - plugin_proxy& operator=( const plugin_proxy& rhs ) - { - item_ = rhs.item_; - return *this; - } - opl_ptr create_plugin( const string& options ) const; public: @@ -77,7 +71,7 @@ { return item_.context; } private: - plugin_item& item_; + plugin_item item_; }; private: @@ -111,10 +105,7 @@ template<class StrictWeakOrdering> void sort( const StrictWeakOrdering& comp = StrictWeakOrdering( ) ) - { - std::sort( plugins_.begin( ), plugins_.end( ), comp ); - plugins_.erase( std::unique( plugins_.begin( ), plugins_.end( ), equals( ) ), plugins_.end( ) ); - } + { std::sort( plugins_.begin( ), plugins_.end( ), comp ); } private: container plugins_; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |