core/tempq: Add tempq ops to queues durinig init

Rather than setting them after.

Signed-off-by: Anna Schumaker <Anna@OcarinaProject.net>
This commit is contained in:
Anna Schumaker 2016-01-13 16:17:42 -05:00
parent 5419711409
commit 2770403c61
2 changed files with 9 additions and 11 deletions

View File

@ -26,20 +26,18 @@ static void __tempq_free(struct queue *queue)
g_free(queue);
}
static struct queue *__tempq_read_queue()
static void __tempq_read_queue(struct queue_ops *ops)
{
unsigned int flags, count, i, track;
struct queue *queue;
file_readf(&tempq_file, "%u %u", &flags, &count);
queue = __tempq_alloc(NULL, flags);
queue = __tempq_alloc(ops, flags);
for (i = 0; i < count; i++) {
file_readf(&tempq_file, "%u", &track);
queue_add(queue, track_get(track));
}
return queue;
}
static void __tempq_write_queue(struct queue *queue)
@ -58,7 +56,6 @@ static void __tempq_write_queue(struct queue *queue)
void tempq_init(struct queue_ops *ops)
{
struct queue *queue;
unsigned int num, i;
file_init(&tempq_file, "deck", 1);
@ -68,10 +65,8 @@ void tempq_init(struct queue_ops *ops)
goto out;
file_readf(&tempq_file, "%u", &num);
for (i = 0; i < num; i++) {
queue = __tempq_read_queue();
queue->q_ops = ops;
}
for (i = 0; i < num; i++)
__tempq_read_queue(ops);
out:
file_close(&tempq_file);
}

View File

@ -35,8 +35,11 @@ static void tempq_deinit(struct queue *queue)
static void tempq_added(struct queue *queue, unsigned int pos)
{
find_tab(queue)->on_track_added(pos);
tempq_save(queue, Q_ENABLED);
Tab *tab = find_tab(queue);
if (tab) {
tab->on_track_added(pos);
tempq_save(queue, Q_ENABLED);
}
}
static void tempq_removed(struct queue *queue, unsigned int pos)