return TRUE if the module does not implement the method. It's not an

2007-06-19  Rodrigo Moya <rodrigo@gnome-db.org>

	* gnome-settings-module.c (gnome_settings_module_start|_stop): return
	TRUE if the module does not implement the method. It's not an error,
	just the module does not need to implement it.

	* gnome-settings-daemon.c (gnome_settings_daemon_init): allocate memory
	for the index in the hash table.

svn path=/trunk/; revision=7753
This commit is contained in:
Rodrigo Moya 2007-06-20 11:07:32 +00:00 committed by Rodrigo Moya
parent 4394d63ff5
commit 89d4dc18ff
3 changed files with 27 additions and 27 deletions

View file

@ -1,3 +1,12 @@
2007-06-19 Rodrigo Moya <rodrigo@gnome-db.org>
* gnome-settings-module.c (gnome_settings_module_start|_stop): return
TRUE if the module does not implement the method. It's not an error,
just the module does not need to implement it.
* gnome-settings-daemon.c (gnome_settings_daemon_init): allocate memory
for the index in the hash table.
2007-06-18 Rodrigo Moya <rodrigo@gnome-db.org>
* gnome-settings-typing-break.c: converted to new arch.

View file

@ -61,23 +61,6 @@ GType gnome_settings_module_xsettings_get_type (void);
static GObjectClass *parent_class = NULL;
XSettingsManager **managers = NULL;
static void
debug_warning (const char *msg, ...)
{
va_list args;
gchar *str;
GtkWidget *dialog;
va_start (args, msg);
str = g_strdup_vprintf (msg, args);
va_end (args);
dialog = gtk_message_dialog_new (NULL, 0, GTK_MESSAGE_WARNING, GTK_BUTTONS_CLOSE, str);
gnome_settings_delayed_show_dialog (dialog);
g_free (str);
}
static void
terminate_cb (void *data)
{
@ -125,9 +108,9 @@ initialize_modules (GnomeSettingsDaemon *daemon, GnomeSettingsModuleRunlevel run
client = gnome_settings_get_config_client ();
module_list = g_hash_table_lookup (daemon->priv->loaded_modules, &runlevel);
for (l = module_list; l != NULL; l = l->next) {
gnome_settings_module_initialize (GNOME_SETTINGS_MODULE (l->data), client);
for (l = module_list; l != NULL; l = l->next) {
if (!gnome_settings_module_initialize (GNOME_SETTINGS_MODULE (l->data), client))
g_warning ("Module %s could not be initialized", G_OBJECT_TYPE_NAME (G_OBJECT (l->data)));
}
}
@ -137,8 +120,10 @@ start_modules (GnomeSettingsDaemon *daemon, GnomeSettingsModuleRunlevel runlevel
GList *l, *module_list;
module_list = g_hash_table_lookup (daemon->priv->loaded_modules, &runlevel);
for (l = module_list; l != NULL; l = l->next)
gnome_settings_module_start (GNOME_SETTINGS_MODULE (l->data));
for (l = module_list; l != NULL; l = l->next) {
if (!gnome_settings_module_start (GNOME_SETTINGS_MODULE (l->data)))
g_warning ("Module %s could not be started", G_OBJECT_TYPE_NAME (G_OBJECT (l->data)));
}
}
static void
@ -215,7 +200,7 @@ gnome_settings_daemon_init (GnomeSettingsDaemon *settings)
return;
/* create hash table for loaded modules */
settings->priv->loaded_modules = g_hash_table_new_full (g_int_hash, g_int_equal, NULL, free_modules_list);
settings->priv->loaded_modules = g_hash_table_new_full (g_int_hash, g_int_equal, g_free, free_modules_list);
module_types = g_type_children (GNOME_SETTINGS_TYPE_MODULE, &n_children);
if (module_types) {
@ -223,7 +208,7 @@ gnome_settings_daemon_init (GnomeSettingsDaemon *settings)
for (i = 0; i < n_children; i++) {
GObject *module;
GnomeSettingsModuleRunlevel runlevel;
GnomeSettingsModuleRunlevel runlevel, *ptr_runlevel;
GList *module_list;
module = g_object_new (module_types[i], NULL);
@ -236,7 +221,9 @@ gnome_settings_daemon_init (GnomeSettingsDaemon *settings)
module_list = g_list_append (module_list, module);
else {
module_list = g_list_append (NULL, module);
g_hash_table_insert (settings->priv->loaded_modules, &runlevel, module_list);
ptr_runlevel = g_new0 (GnomeSettingsModuleRunlevel, 1);
*ptr_runlevel = runlevel;
g_hash_table_insert (settings->priv->loaded_modules, ptr_runlevel, module_list);
}
}

View file

@ -134,7 +134,9 @@ gnome_settings_module_start (GnomeSettingsModule *module)
{
g_return_val_if_fail (GNOME_SETTINGS_IS_MODULE (module), FALSE);
g_return_val_if_fail (module->priv->status == GNOME_SETTINGS_MODULE_STATUS_INITIALIZED, FALSE);
g_return_val_if_fail (CLASS (module)->start != NULL, FALSE);
if (!CLASS (module)->start)
return TRUE;
if (CLASS (module)->start (module)) {
module->priv->status = GNOME_SETTINGS_MODULE_STATUS_STARTED;
@ -149,7 +151,9 @@ gnome_settings_module_stop (GnomeSettingsModule *module)
{
g_return_val_if_fail (GNOME_SETTINGS_IS_MODULE (module), FALSE);
g_return_val_if_fail (module->priv->status == GNOME_SETTINGS_MODULE_STATUS_STARTED, FALSE);
g_return_val_if_fail (CLASS (module)->stop != NULL, FALSE);
if (!CLASS (module)->stop)
return TRUE;
if (CLASS (module)->stop (module)) {
module->priv->status = GNOME_SETTINGS_MODULE_STATUS_STOPPED;