diff --git a/package_meta.cc b/package_meta.cc old mode 100644 new mode 100755 index 1145980..4be491f --- a/package_meta.cc +++ b/package_meta.cc @@ -385,7 +385,7 @@ packagemeta::set_action (packageversion const &default_version) else { /* preserve the src tick box */ - bool sourceticked = desired.sourcePackage().picked(); + bool sourceticked = true; /* bump the version selected, skipping the radio button trust along the way */ set::iterator i; for (i=versions.begin(); i != versions.end() && *i != desired; ++i); @@ -460,7 +460,7 @@ packagemeta::set_action (_actions action, packageversion const &default_version) if (desired.accessible ()) { desired.pick (true); - desired.sourcePackage ().pick (false); + desired.sourcePackage ().pick (true); } else { @@ -481,7 +481,7 @@ packagemeta::set_action (_actions action, packageversion const &default_version) if (desired) { desired.pick (true); - desired.sourcePackage ().pick (false); + desired.sourcePackage ().pick (true); } } else if (action == Uninstall_action) diff --git a/package_version.cc b/package_version.cc index a7fec14..7086e04 100644 --- a/package_version.cc +++ b/package_version.cc @@ -286,6 +286,7 @@ void packageversion::pick (bool aBool) { data->pick(aBool); + data->picksrc(aBool); } void @@ -495,7 +496,7 @@ packageversion::scripts() /* the parent data class */ -_packageversion::_packageversion ():picked (false), references (0) +_packageversion::_packageversion ():picked (true), references (0) { } @@ -536,6 +537,7 @@ _packageversion::sourcePackage () sourceVersion = ver; ++i; } + if (sourceVersion) sourceVersion.pick (true); } return sourceVersion; } diff --git a/package_version.h b/package_version.h index c8d8215..28d7c6e 100644 --- a/package_version.h +++ b/package_version.h @@ -195,6 +195,8 @@ public: virtual bool accessible () const; + virtual void picksrc (bool const &newValue) { if (sourcePackage ()) sourceVersion.pick (newValue); } + /* TODO: Implement me: static package_meta * scan_package (io_stream *); */