aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--paludis/dep_spec_data.cc5
-rw-r--r--paludis/dep_spec_data.hh2
2 files changed, 4 insertions, 3 deletions
diff --git a/paludis/dep_spec_data.cc b/paludis/dep_spec_data.cc
index 834926577..e02a69afc 100644
--- a/paludis/dep_spec_data.cc
+++ b/paludis/dep_spec_data.cc
@@ -586,6 +586,7 @@ MutablePackageDepSpecData::unconstrain_keys()
MutablePackageDepSpecData::operator PackageDepSpec() const
{
- return PackageDepSpec(std::make_shared<MutablePackageDepSpecData>(*this));
+ /* convoluted because it's private... */
+ PackageDepSpecData * data(new MutablePackageDepSpecData(*this));
+ return PackageDepSpec(std::shared_ptr<PackageDepSpecData>(data));
}
-
diff --git a/paludis/dep_spec_data.hh b/paludis/dep_spec_data.hh
index 173c4e417..45cd81f23 100644
--- a/paludis/dep_spec_data.hh
+++ b/paludis/dep_spec_data.hh
@@ -241,7 +241,7 @@ namespace paludis
* \ingroup g_dep_spec
*/
class PALUDIS_VISIBLE MutablePackageDepSpecData :
- public PackageDepSpecData
+ private PackageDepSpecData
{
public:
explicit MutablePackageDepSpecData(const PackageDepSpecDataOptions &);