[monkey-bubble: 631/753] Get the Bonobo::ActivationContext here, this avoids some nasty reentrancy
- From: Sven Herzberg <herzi src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [monkey-bubble: 631/753] Get the Bonobo::ActivationContext here, this avoids some nasty reentrancy
- Date: Wed, 14 Jul 2010 22:48:44 +0000 (UTC)
commit cd2ea0c78bd754a86fbe0ab623c2f361c13badcd
Author: Martin Baulig <baulig suse de>
Date: Mon Aug 13 15:05:57 2001 +0000
Get the Bonobo::ActivationContext here, this avoids some nasty reentrancy
2001-08-13 Martin Baulig <baulig suse de>
* gnome-init.c (bonobo_activation_post_args_parse): Get the
Bonobo::ActivationContext here, this avoids some nasty
reentrancy problems.
* gnome-program.c (gnome_program_locate_file): Allow the `program'
argument to be NULL, in this case call gnome_program_get().
libgnome/ChangeLog | 9 +++++++++
libgnome/gnome-init.c | 7 +++++++
libgnome/gnome-program.c | 3 +++
3 files changed, 19 insertions(+), 0 deletions(-)
---
diff --git a/libgnome/ChangeLog b/libgnome/ChangeLog
index 27d9752..48357a8 100644
--- a/libgnome/ChangeLog
+++ b/libgnome/ChangeLog
@@ -1,3 +1,12 @@
+2001-08-13 Martin Baulig <baulig suse de>
+
+ * gnome-init.c (bonobo_activation_post_args_parse): Get the
+ Bonobo::ActivationContext here, this avoids some nasty
+ reentrancy problems.
+
+ * gnome-program.c (gnome_program_locate_file): Allow the `program'
+ argument to be NULL, in this case call gnome_program_get().
+
2001-08-09 Martin Baulig <baulig suse de>
* gnome-util.h (gnome_*_file, gnome_unconditional_*_file): Put
diff --git a/libgnome/gnome-init.c b/libgnome/gnome-init.c
index 8443bec..fd4d072 100644
--- a/libgnome/gnome-init.c
+++ b/libgnome/gnome-init.c
@@ -74,9 +74,16 @@ bonobo_activation_post_args_parse (GnomeProgram *program, GnomeModuleInfo *mod_i
{
int dumb_argc = 1;
char *dumb_argv[] = {NULL};
+ BonoboActivationBaseService base_service = {};
bonobo_activation_postinit (program, mod_info);
+ base_service.name = "IDL:Bonobo/ActivationContext:1.0";
+ base_service.session_name = bonobo_activation_session_name_get ();
+ base_service.domain = "session";
+
+ bonobo_activation_service_get (&base_service);
+
dumb_argv[0] = program_invocation_name;
(void) bonobo_activation_orb_init (&dumb_argc, dumb_argv);
}
diff --git a/libgnome/gnome-program.c b/libgnome/gnome-program.c
index 200c4b3..b18ae8e 100644
--- a/libgnome/gnome-program.c
+++ b/libgnome/gnome-program.c
@@ -693,6 +693,9 @@ gnome_program_locate_file (GnomeProgram *program, GnomeFileDomain domain,
gboolean append_app_id = FALSE;
GValue value = { 0, };
+ if (!program)
+ program = gnome_program_get ();
+
g_return_val_if_fail (program != NULL, NULL);
g_return_val_if_fail (GNOME_IS_PROGRAM (program), NULL);
g_return_val_if_fail (program->_priv->state >= APP_PREINIT_DONE, NULL);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]