diff --git a/core/queue.c b/core/queue.c index c54e728f..a590c4a9 100644 --- a/core/queue.c +++ b/core/queue.c @@ -182,7 +182,11 @@ void queue_set_flag(struct queue *queue, enum queue_flags flag) void queue_unset_flag(struct queue *queue, enum queue_flags flag) { + if (!queue_has_flag(queue, flag)) + return; queue->q_flags &= ~flag; + if (flag == Q_ADD_FRONT) + queue_resort(queue); __queue_save(queue, Q_SAVE_FLAGS); }