diff options
| author | Sam Spilsbury <sam.spilsbury@canonical.com> | 2011-12-23 15:19:07 +0800 |
|---|---|---|
| committer | Sam Spilsbury <sam.spilsbury@canonical.com> | 2011-12-23 15:19:07 +0800 |
| commit | f30edd5dac44365b8e5544240145c5b440d95d95 (patch) | |
| tree | d187e5aea68e5c6a8818611b68dee233ea78e3ff /plugins/unity-mt-grab-handles | |
| parent | 90b56c15326b86a21793f63c2bdb4321e24e0ac2 (diff) | |
Use a shared ptr
(bzr r1794.3.6)
Diffstat (limited to 'plugins/unity-mt-grab-handles')
3 files changed, 7 insertions, 12 deletions
diff --git a/plugins/unity-mt-grab-handles/src/unity-mt-grab-handles.cpp b/plugins/unity-mt-grab-handles/src/unity-mt-grab-handles.cpp index 6b1432c93..ce5792da1 100644 --- a/plugins/unity-mt-grab-handles/src/unity-mt-grab-handles.cpp +++ b/plugins/unity-mt-grab-handles/src/unity-mt-grab-handles.cpp @@ -776,7 +776,7 @@ UnityMTGrabHandlesScreen::UnityMTGrabHandlesScreen(CompScreen* s) : GLTexture::List t = GLTexture::readImageToTexture(fname, pname, size); - (static_cast <unity::MT::X11TextureFactory *> (unity::MT::Texture::Factory::Default ()))->setActiveWrap (t); + (boost::shared_static_cast <unity::MT::X11TextureFactory> (unity::MT::Texture::Factory::Default ()))->setActiveWrap (t); mHandleTextures.at(i).first = unity::MT::Texture::Factory::Default ()->create (); mHandleTextures.at (i).second.width = size.width (); diff --git a/plugins/unity-mt-grab-handles/src/unity-mt-texture.cpp b/plugins/unity-mt-grab-handles/src/unity-mt-texture.cpp index d4435c8de..c87076652 100644 --- a/plugins/unity-mt-grab-handles/src/unity-mt-texture.cpp +++ b/plugins/unity-mt-grab-handles/src/unity-mt-texture.cpp @@ -18,7 +18,7 @@ #include "unity-mt-texture.h" -unity::MT::Texture::Factory * unity::MT::Texture::Factory::mDefault = NULL; +boost::shared_ptr <unity::MT::Texture::Factory> unity::MT::Texture::Factory::mDefault; unity::MT::Texture::Factory::Factory () { @@ -31,16 +31,10 @@ unity::MT::Texture::Factory::~Factory () void unity::MT::Texture::Factory::SetDefault (Factory *f) { - if (mDefault) - { - delete mDefault; - mDefault = NULL; - } - - mDefault = f; + mDefault.reset (f); } -unity::MT::Texture::Factory * +boost::shared_ptr <unity::MT::Texture::Factory> unity::MT::Texture::Factory::Default () { return mDefault; diff --git a/plugins/unity-mt-grab-handles/src/unity-mt-texture.h b/plugins/unity-mt-grab-handles/src/unity-mt-texture.h index a72d883ea..2d9a26531 100644 --- a/plugins/unity-mt-grab-handles/src/unity-mt-texture.h +++ b/plugins/unity-mt-grab-handles/src/unity-mt-texture.h @@ -21,6 +21,7 @@ #include <Nux/Nux.h> #include <boost/noncopyable.hpp> +#include <boost/shared_ptr.hpp> namespace unity { @@ -47,7 +48,7 @@ class Texture static void SetDefault (Factory *); - static Factory * + static boost::shared_ptr <Factory> Default (); protected: @@ -56,7 +57,7 @@ class Texture private: - static Factory *mDefault; + static boost::shared_ptr <unity::MT::Texture::Factory> mDefault; }; protected: |
