summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMike Blumenkrantz <zmike@samsung.com>2013-12-19 14:55:53 -0500
committerMike Blumenkrantz <zmike@samsung.com>2013-12-19 14:55:53 -0500
commitc2c9c3ab721db560f67a90f21cb7e7e1a75c8c96 (patch)
tree5e06f63e4936f1bdbdea9f7f90c95ab8064a88e8 /src
parentb93c035176fb38cd0104c254b8d6bf5f8042821e (diff)
propagate parent tasks when creating work tasks from scan tasks
Diffstat (limited to 'src')
-rw-r--r--src/bin/e_fm_op.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/bin/e_fm_op.c b/src/bin/e_fm_op.c
index 47685962d..88b15d77d 100644
--- a/src/bin/e_fm_op.c
+++ b/src/bin/e_fm_op.c
@@ -1467,6 +1467,8 @@ _e_fm_op_scan_atom(E_Fm_Op_Task *task)
1467 1467
1468 if (task->type == E_FM_OP_COPY) 1468 if (task->type == E_FM_OP_COPY)
1469 { 1469 {
1470 Eina_List *l;
1471
1470 _e_fm_op_update_progress(NULL, 0, task->src.st.st_size); 1472 _e_fm_op_update_progress(NULL, 0, task->src.st.st_size);
1471 1473
1472 ctask = _e_fm_op_task_new(); 1474 ctask = _e_fm_op_task_new();
@@ -1474,6 +1476,17 @@ _e_fm_op_scan_atom(E_Fm_Op_Task *task)
1474 memcpy(&(ctask->src.st), &(task->src.st), sizeof(struct stat)); 1476 memcpy(&(ctask->src.st), &(task->src.st), sizeof(struct stat));
1475 if (task->dst.name) 1477 if (task->dst.name)
1476 ctask->dst.name = eina_stringshare_add(task->dst.name); 1478 ctask->dst.name = eina_stringshare_add(task->dst.name);
1479 if (task->parent)
1480 ctask->parent = task->parent;
1481 else
1482 {
1483 EINA_LIST_FOREACH(_e_fm_op_scan_queue, l, rtask)
1484 if (rtask->parent == task)
1485 rtask->parent = ctask;
1486 EINA_LIST_FOREACH(_e_fm_op_work_queue, l, rtask)
1487 if (rtask->parent == task)
1488 rtask->parent = ctask;
1489 }
1477 ctask->type = E_FM_OP_COPY; 1490 ctask->type = E_FM_OP_COPY;
1478 1491
1479 _e_fm_op_work_queue = eina_list_append(_e_fm_op_work_queue, ctask); 1492 _e_fm_op_work_queue = eina_list_append(_e_fm_op_work_queue, ctask);