[yast-commit] r50222 - in /branches/tmp/lslezak/pkg-bindings/src: Package.cc Resolvable_Install.cc Resolvable_Patches.cc
Author: lslezak Date: Wed Aug 20 09:16:01 2008 New Revision: 50222 URL: http://svn.opensuse.org/viewcvs/yast?rev=50222&view=rev Log: - check ui::Selectable::Ptr for NULL value Modified: branches/tmp/lslezak/pkg-bindings/src/Package.cc branches/tmp/lslezak/pkg-bindings/src/Resolvable_Install.cc branches/tmp/lslezak/pkg-bindings/src/Resolvable_Patches.cc Modified: branches/tmp/lslezak/pkg-bindings/src/Package.cc URL: http://svn.opensuse.org/viewcvs/yast/branches/tmp/lslezak/pkg-bindings/src/Package.cc?rev=50222&r1=50221&r2=50222&view=diff ============================================================================== --- branches/tmp/lslezak/pkg-bindings/src/Package.cc (original) +++ branches/tmp/lslezak/pkg-bindings/src/Package.cc Wed Aug 20 09:16:01 2008 @@ -542,14 +542,17 @@ { zypp::ui::Selectable::Ptr selectable = zypp::ui::Selectable::get(pkgname); - // search installed or available package - if (installed) - { - found = selectable->hasInstalledObj(); - } - else + if (selectable) { - found = selectable->hasCandidateObj(); + // search installed or available package + if (installed) + { + found = selectable->hasInstalledObj(); + } + else + { + found = selectable->hasCandidateObj(); + } } } catch (...) @@ -955,16 +958,19 @@ { zypp::ui::Selectable::Ptr s = (*it); - // iterate over installed packages - for_(inst_it, s->installedBegin(), s->installedEnd()) + if (s) { - data->add(PkgProp(*inst_it)); - } + // iterate over installed packages + for_(inst_it, s->installedBegin(), s->installedEnd()) + { + data->add(PkgProp(*inst_it)); + } - // iterate over available packages - for_(avail_it, s->availableBegin(), s->availableEnd()) - { - data->add(PkgProp(*avail_it)); + // iterate over available packages + for_(avail_it, s->availableBegin(), s->availableEnd()) + { + data->add(PkgProp(*avail_it)); + } } } } @@ -1790,35 +1796,35 @@ selectablePool.byKindEndzypp::Package()) { zypp::ui::Selectable::Ptr s = (*it); - s->unset(level); + if (s) s->unset(level); } for_(it, selectablePool.byKindBeginzypp::Pattern(), selectablePool.byKindEndzypp::Pattern()) { zypp::ui::Selectable::Ptr s = (*it); - s->unset(level); + if (s) s->unset(level); } for_(it, selectablePool.byKindBeginzypp::Patch(), selectablePool.byKindEndzypp::Patch()) { zypp::ui::Selectable::Ptr s = (*it); - s->unset(level); + if (s) s->unset(level); } for_(it, selectablePool.byKindBeginzypp::Product(), selectablePool.byKindEndzypp::Product()) { zypp::ui::Selectable::Ptr s = (*it); - s->unset(level); + if (s) s->unset(level); } for_(it, selectablePool.byKindBeginzypp::SrcPackage(), selectablePool.byKindEndzypp::SrcPackage()) { zypp::ui::Selectable::Ptr s = (*it); - s->unset(level); + if (s) s->unset(level); } } Modified: branches/tmp/lslezak/pkg-bindings/src/Resolvable_Install.cc URL: http://svn.opensuse.org/viewcvs/yast/branches/tmp/lslezak/pkg-bindings/src/Resolvable_Install.cc?rev=50222&r1=50221&r2=50222&view=diff ============================================================================== --- branches/tmp/lslezak/pkg-bindings/src/Resolvable_Install.cc (original) +++ branches/tmp/lslezak/pkg-bindings/src/Resolvable_Install.cc Wed Aug 20 09:16:01 2008 @@ -372,7 +372,7 @@ else { zypp::ui::Selectable::Ptr s = zypp::ui::Selectable::get(kind, name); - ret = s->unset(force ? zypp::ResStatus::USER : whoWantsIt); + ret = s ? s->unset(force ? zypp::ResStatus::USER : whoWantsIt) : false; } } catch (...) @@ -431,13 +431,13 @@ it != zypp_ptr()->poolProxy().byKindEnd(kind); ++it) { - ret = (*it)->theObj().status().setSoftLock(whoWantsIt); + ret = (*it)->theObj().status().setSoftLock(whoWantsIt) && ret; } } else { zypp::ui::Selectable::Ptr s = zypp::ui::Selectable::get(kind, name); - ret = s->theObj().status().setSoftLock(whoWantsIt); + ret = s ? s->theObj().status().setSoftLock(whoWantsIt) : false; } } catch (...) Modified: branches/tmp/lslezak/pkg-bindings/src/Resolvable_Patches.cc URL: http://svn.opensuse.org/viewcvs/yast/branches/tmp/lslezak/pkg-bindings/src/Resolvable_Patches.cc?rev=50222&r1=50221&r2=50222&view=diff ============================================================================== --- branches/tmp/lslezak/pkg-bindings/src/Resolvable_Patches.cc (original) +++ branches/tmp/lslezak/pkg-bindings/src/Resolvable_Patches.cc Wed Aug 20 09:16:01 2008 @@ -95,7 +95,7 @@ y2milestone("Procesing patch %s", (*it)->name().c_str()); zypp::ui::Selectable::Ptr s = *it; - if (s->isNeeded()) + if (s && s->isNeeded()) { zypp::Patch::constPtr patch = zypp::dynamic_pointer_cast<const zypp::Patch> (s->candidateObj().resolvable()); -- To unsubscribe, e-mail: yast-commit+unsubscribe@opensuse.org For additional commands, e-mail: yast-commit+help@opensuse.org
participants (1)
-
lslezak@svn.opensuse.org