summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMichael Schroeder <mls@suse.de>2014-02-13 14:03:25 +0100
committerMichael Schroeder <mls@suse.de>2014-02-13 14:03:25 +0100
commit0a1944d23d31d98c0ae5c3a63a83dcc1334d9d9b (patch)
tree317332187ae2381b48f4a9c84ded127c73a76a5f /src
parent4e05e86026adaebd5a01d80fa29bc6fcd7a85596 (diff)
downloadlibsolv-0a1944d23d31d98c0ae5c3a63a83dcc1334d9d9b.tar.gz
libsolv-0a1944d23d31d98c0ae5c3a63a83dcc1334d9d9b.tar.bz2
libsolv-0a1944d23d31d98c0ae5c3a63a83dcc1334d9d9b.zip
always keep job/jobflags in selection_filter()
Diffstat (limited to 'src')
-rw-r--r--src/selection.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/selection.c b/src/selection.c
index badb41f..f0e61ea 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);