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:
parent
5419711409
commit
2770403c61
13
core/tempq.c
13
core/tempq.c
|
@ -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);
|
||||
}
|
||||
|
|
|
@ -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)
|
||||
|
|
Loading…
Reference in New Issue