From 71db46ea665606384f2be1be708c74c97c9adfb2 Mon Sep 17 00:00:00 2001 From: Jelmer Vernooij Date: Sat, 6 Nov 2004 23:23:15 +0000 Subject: r3586: Fix some of the issues with the module init functions. Both subsystems and modules can now have init functions, which can be specified in .mk files (INIT_FUNCTION = ...) The build system will define : - SUBSYSTEM_init_static_modules that calls the init functions of all statically compiled modules. Failing to load will generate an error which is not fatal - BINARY_init_subsystems that calls the init functions (if defined) for the subsystems the binary depends on This removes the hack with the "static bool Initialised = " and the "lazy_init" functions (This used to be commit 7a8244761bfdfdfb48f8264d76951ebdfbf7bd8a) --- source4/gtk/tools/gepdump.c | 1 + source4/gtk/tools/gregedit.c | 2 ++ source4/gtk/tools/gwcrontab.c | 1 + source4/gtk/tools/gwsam.c | 1 + 4 files changed, 5 insertions(+) (limited to 'source4/gtk') diff --git a/source4/gtk/tools/gepdump.c b/source4/gtk/tools/gepdump.c index 6e5a9757d4..07eea756c1 100644 --- a/source4/gtk/tools/gepdump.c +++ b/source4/gtk/tools/gepdump.c @@ -422,6 +422,7 @@ static GtkWidget* create_mainwindow (void) int main(int argc, char **argv) { gtk_init(&argc, &argv); + gepdump_init_subsystems; lp_load(dyn_CONFIGFILE,True,False,False); load_interfaces(); setup_logging("gepdump", True); diff --git a/source4/gtk/tools/gregedit.c b/source4/gtk/tools/gregedit.c index f5c2fd5957..31df3086f2 100644 --- a/source4/gtk/tools/gregedit.c +++ b/source4/gtk/tools/gregedit.c @@ -816,6 +816,8 @@ static GtkWidget* create_savefilewin (void) POPT_TABLEEND }; + gregedit_init_subsystems; + lp_load(dyn_CONFIGFILE,True,False,False); load_interfaces(); diff --git a/source4/gtk/tools/gwcrontab.c b/source4/gtk/tools/gwcrontab.c index b1176a3fa8..dcedba2e88 100644 --- a/source4/gtk/tools/gwcrontab.c +++ b/source4/gtk/tools/gwcrontab.c @@ -492,6 +492,7 @@ static GtkWidget*create_new_job_dialog (void) int main(int argc, char **argv) { + gwcrontab_init_subsystems; lp_load(dyn_CONFIGFILE,True,False,False); load_interfaces(); diff --git a/source4/gtk/tools/gwsam.c b/source4/gtk/tools/gwsam.c index 18fd578f64..9dc7ebea73 100644 --- a/source4/gtk/tools/gwsam.c +++ b/source4/gtk/tools/gwsam.c @@ -412,6 +412,7 @@ create_mainwindow (void) int main(int argc, char **argv) { + gwsam_init_subsystems; lp_load(dyn_CONFIGFILE,True,False,False); load_interfaces(); setup_logging("gwsam", True); -- cgit