diff --git a/src/Plugins/TGAImporter/TGAImporter.cpp b/src/Plugins/TGAImporter/TGAImporter.cpp index 199536620..4602a9e99 100644 --- a/src/Plugins/TGAImporter/TGAImporter.cpp +++ b/src/Plugins/TGAImporter/TGAImporter.cpp @@ -75,15 +75,16 @@ bool TGAImporter::open(std::istream& in) { Math::Vector2 dimensions(header.width, header.height); - _image = shared_ptr(new Image2D(dimensions, colorFormat, buffer)); + _image = new Image2D(dimensions, colorFormat, buffer); return true; } void TGAImporter::close() { - _image = shared_ptr(); + delete _image; + _image = nullptr; } -shared_ptr TGAImporter::image2D(size_t id) { +Image2D* TGAImporter::image2D(size_t id) { return _image; } diff --git a/src/Plugins/TGAImporter/TGAImporter.h b/src/Plugins/TGAImporter/TGAImporter.h index 1e93c53bd..d614f84a3 100644 --- a/src/Plugins/TGAImporter/TGAImporter.h +++ b/src/Plugins/TGAImporter/TGAImporter.h @@ -25,7 +25,7 @@ namespace Magnum { namespace Trade { namespace TGAImporter { class TGAImporter: public AbstractImporter { public: - TGAImporter(Corrade::PluginManager::AbstractPluginManager* manager = 0, const std::string& plugin = ""): AbstractImporter(manager, plugin) {} + TGAImporter(Corrade::PluginManager::AbstractPluginManager* manager = 0, const std::string& plugin = ""): AbstractImporter(manager, plugin), _image(nullptr) {} inline virtual ~TGAImporter() { close(); } inline int features() const { return OpenFile|OpenStream; } @@ -35,7 +35,7 @@ class TGAImporter: public AbstractImporter { void close(); inline size_t image2DCount() const { return _image ? 1 : 0; } - std::shared_ptr image2D(size_t id); + Image2D* image2D(size_t id); #pragma pack(1) struct Header { @@ -55,7 +55,7 @@ class TGAImporter: public AbstractImporter { #pragma pack(8) private: - std::shared_ptr _image; + Image2D* _image; }; }}}