From: Michael Schroeder Date: Thu, 13 Feb 2014 13:03:25 +0000 (+0100) Subject: always keep job/jobflags in selection_filter() X-Git-Tag: 0.6.4~97 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=0a1944d23d31d98c0ae5c3a63a83dcc1334d9d9b;p=thirdparty%2Flibsolv.git always keep job/jobflags in selection_filter() --- diff --git a/src/selection.c b/src/selection.c index badb41f6..f0e61ea4 100644 --- a/src/selection.c +++ b/src/selection.c @@ -998,8 +998,11 @@ selection_filter(Pool *pool, Queue *sel1, Queue *sel2) if (sel1->count == 2 && (sel1->elements[0] & SOLVER_SELECTMASK) == SOLVER_SOLVABLE_ALL) { /* XXX: not 100% correct, but very useful */ + p = sel1->elements[0] & ~(SOLVER_SELECTMASK | SOLVER_SETMASK); /* job & jobflags */ queue_free(sel1); queue_init_clone(sel1, sel2); + for (i = 0; i < sel1->count; i += 2) + sel1->elements[i] = (sel1->elements[i] & (SOLVER_SELECTMASK | SOLVER_SETMASK)) | p ; return; } queue_init(&q1);