From 2fba9445a0357f67641e41ac334b5529c37774a2 Mon Sep 17 00:00:00 2001 From: Daniel Stone Date: Tue, 10 Jul 2012 02:03:19 +0100 Subject: Add static extensions before those in modules Make sure we add static extensions before anything in a module. This is more or less a no-op at the moment, but will come in handy later when extension dependency sorting is removed. Signed-off-by: Daniel Stone Reviewed-by: Peter Hutterer Signed-off-by: Keith Packard --- mi/miinitext.c | 31 ++++++++++++++++++++----------- 1 file changed, 20 insertions(+), 11 deletions(-) (limited to 'mi') diff --git a/mi/miinitext.c b/mi/miinitext.c index a8644db6b..30c428c8a 100644 --- a/mi/miinitext.c +++ b/mi/miinitext.c @@ -421,22 +421,31 @@ static ExtensionModule staticExtensions[] = { #endif }; - /*ARGSUSED*/ void +void +AddStaticExtensions(void) +{ + static Bool listInitialised = FALSE; + int i; + + if (listInitialised) + return; + listInitialised = TRUE; + + /* Add built-in extensions to the list. */ + for (i = 0; i < ARRAY_SIZE(staticExtensions); i++) + LoadExtension(&staticExtensions[i], TRUE); +} + +void InitExtensions(int argc, char *argv[]) { int i; ExtensionModule *ext; - static Bool listInitialised = FALSE; - - if (!listInitialised) { - /* Add built-in extensions to the list. */ - for (i = 0; i < ARRAY_SIZE(staticExtensions); i++) - LoadExtension(&staticExtensions[i], TRUE); - /* Sort the extensions according the init dependencies. */ - LoaderSortExtensions(); - listInitialised = TRUE; - } + /* Make sure all static extensions have been added, then sort the + * extensions according to their init dependencies. */ + AddStaticExtensions(); + LoaderSortExtensions(); for (i = 0; ExtensionModuleList[i].name != NULL; i++) { ext = &ExtensionModuleList[i]; -- cgit v1.2.3