diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/xine-engine/load_plugins.c | 3 | ||||
-rw-r--r-- | src/xine-engine/xine.c | 10 | ||||
-rw-r--r-- | src/xine-engine/xine_internal.h | 6 |
3 files changed, 18 insertions, 1 deletions
diff --git a/src/xine-engine/load_plugins.c b/src/xine-engine/load_plugins.c index 06ff719e0..206f259e5 100644 --- a/src/xine-engine/load_plugins.c +++ b/src/xine-engine/load_plugins.c @@ -1201,7 +1201,8 @@ void _x_scan_plugins (xine_t *this) { xine_list_delete (plugindirs); free(homedir); - save_catalog (this); + if ((_x_flags & XINE_FLAG_NO_WRITE_CACHE) == 0) + save_catalog (this); load_required_plugins (this); diff --git a/src/xine-engine/xine.c b/src/xine-engine/xine.c index b95a14292..5a180c212 100644 --- a/src/xine-engine/xine.c +++ b/src/xine-engine/xine.c @@ -78,6 +78,10 @@ #endif /* WIN32 */ +/* FIXME-ABI Global variable. Done this way for ABI & API reasons... */ +int _x_flags = 0; + + static void mutex_cleanup (void *mutex) { pthread_mutex_unlock ((pthread_mutex_t *) mutex); } @@ -1695,6 +1699,12 @@ static void config_save_cb (void *this_gen, xine_cfg_entry_t *entry) { this->save_path = entry->str_value; } +void xine_set_flags (xine_t *this, int flags) +{ + this = this; /* FIXME-ABI: one day, these will be in xine_t...? */ + _x_flags = flags; +} + void xine_init (xine_t *this) { static const char *demux_strategies[] = {"default", "reverse", "content", "extension", NULL}; diff --git a/src/xine-engine/xine_internal.h b/src/xine-engine/xine_internal.h index 939876ebe..af8817ac5 100644 --- a/src/xine-engine/xine_internal.h +++ b/src/xine-engine/xine_internal.h @@ -123,6 +123,12 @@ struct xine_s { #endif }; +/* FIXME-ABI Some global flag bits */ +/* See xine_set_flags() */ +#ifdef XINE_ENGINE_INTERNAL +extern int _x_flags XINE_PROTECTED; +#endif + /* * xine thread tickets */ |