diff options
Diffstat (limited to 'apps/tree.c')
-rw-r--r-- | apps/tree.c | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/apps/tree.c b/apps/tree.c index a034fd0545..6622e1c4c2 100644 --- a/apps/tree.c +++ b/apps/tree.c @@ -314,6 +314,18 @@ struct tree_context* tree_get_context(void) return &tc; } +void tree_lock_cache(struct tree_context *t) +{ + core_pin(t->cache.name_buffer_handle); + core_pin(t->cache.entries_handle); +} + +void tree_unlock_cache(struct tree_context *t) +{ + core_unpin(t->cache.name_buffer_handle); + core_unpin(t->cache.entries_handle); +} + /* * Returns the position of a given file in the current directory * returns -1 if not found @@ -1020,9 +1032,6 @@ int rockbox_browse(struct browse_context *browse) static int move_callback(int handle, void* current, void* new) { struct tree_cache* cache = &tc.cache; - if (cache->lock_count > 0) - return BUFLIB_CB_CANNOT_MOVE; - ptrdiff_t diff = new - current; /* FIX_PTR makes sure to not accidentally update static allocations */ #define FIX_PTR(x) \ |