aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog8
-rw-r--r--embed/mozilla/mozilla-notifiers.cpp116
2 files changed, 63 insertions, 61 deletions
diff --git a/ChangeLog b/ChangeLog
index 7c18337f0..e939b0f83 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+2003-08-07 Marco Pesenti Gritti <marco@it.gnome.org>
+
+ * embed/mozilla/mozilla-notifiers.cpp:
+
+ Use ever eel_gconf to get values, otherwise we
+ ignore he schemas value.
+ Make all notifiers NULL safe.
+
2003-08-06 Christian Persch <chpe@cvs.gnome.org>
* src/ephy-nodebook.c: (notebook_drag_data_received_cb):
diff --git a/embed/mozilla/mozilla-notifiers.cpp b/embed/mozilla/mozilla-notifiers.cpp
index 9031f87da..d8e63023d 100644
--- a/embed/mozilla/mozilla-notifiers.cpp
+++ b/embed/mozilla/mozilla-notifiers.cpp
@@ -232,7 +232,7 @@ mozilla_cache_size_notifier (GConfClient *client,
{
int cache_size;
- cache_size = gconf_value_get_int(entry->value) * 1024;
+ cache_size = eel_gconf_get_integer (entry->key) * 1024;
mozilla_prefs_set_int ("browser.cache.disk.capacity", cache_size);
}
@@ -247,7 +247,7 @@ mozilla_font_size_notifier (GConfClient *client,
sprintf (key, "font.%s", pref);
- mozilla_prefs_set_int (key, gconf_value_get_int(entry->value));
+ mozilla_prefs_set_int (key, eel_gconf_get_integer (entry->key));
}
static void
@@ -256,10 +256,11 @@ mozilla_proxy_mode_notifier (GConfClient *client,
GConfEntry *entry,
EphyEmbedSingle *single)
{
- const char *mode;
+ char *mode;
int mozilla_mode = 0;
- mode = gconf_value_get_string(entry->value);
+ mode = eel_gconf_get_string (entry->key);
+ if (mode == NULL) return;
if (strcmp (mode, "manual") == 0)
{
@@ -271,6 +272,8 @@ mozilla_proxy_mode_notifier (GConfClient *client,
}
mozilla_prefs_set_int ("network.proxy.type", mozilla_mode);
+
+ g_free (mode);
}
static void
@@ -279,10 +282,11 @@ mozilla_cookies_accept_notifier (GConfClient *client,
GConfEntry *entry,
char *pref)
{
- const char *mode;
+ char *mode;
int mozilla_mode = 0;
- mode = gconf_value_get_string(entry->value);
+ mode = eel_gconf_get_string (entry->key);
+ if (mode == NULL) return;
if (strcmp (mode, "anywhere") == 0)
{
@@ -298,6 +302,8 @@ mozilla_cookies_accept_notifier (GConfClient *client,
}
mozilla_prefs_set_int ("network.cookie.cookieBehavior", mozilla_mode);
+
+ g_free (mode);
}
static void
@@ -307,10 +313,16 @@ mozilla_font_notifier (GConfClient *client,
char *pref)
{
char key[255];
+ char *name;
sprintf (key, "font.name.%s", pref);
- mozilla_prefs_set_string (key, gconf_value_get_string(entry->value));
+ name = eel_gconf_get_string (entry->key);
+ if (name)
+ {
+ mozilla_prefs_set_string (key, name);
+ g_free (name);
+ }
}
static void
@@ -319,8 +331,16 @@ mozilla_proxy_autoconfig_notifier (GConfClient *client,
GConfEntry *entry,
EphyEmbedSingle *single)
{
- ephy_embed_single_load_proxy_autoconf
- (single, gconf_value_get_string(entry->value));
+ char *url;
+
+ url = eel_gconf_get_string (entry->key);
+
+ if (url)
+ {
+ ephy_embed_single_load_proxy_autoconf (single, url);
+ }
+
+ g_free (url);
}
static void
@@ -353,10 +373,8 @@ add_notification_and_notify (GConfClient *client,
}
g_return_if_fail (entry != NULL);
- if (entry->value != NULL)
- {
- func (client, cnxn_id, entry, user_data);
- }
+ func (client, cnxn_id, entry, user_data);
+
gconf_entry_free (entry);
}
@@ -474,24 +492,14 @@ generic_mozilla_string_notifier(GConfClient *client,
GConfEntry *entry,
const char *pref_name)
{
- const gchar *value;
+ char *value;
- /* determine type of gconf key, in order of likelyhood */
- switch (entry->value->type)
+ value = eel_gconf_get_string (entry->key);
+ if (value)
{
- case GCONF_VALUE_STRING:
- value = gconf_value_get_string(entry->value);
- if (value)
- {
- mozilla_prefs_set_string
- (pref_name,
- gconf_value_get_string(entry->value));
- }
- break;
-
- default:
- g_warning("Unsupported variable type");
- }
+ mozilla_prefs_set_string (pref_name, value);
+ g_free (value);
+ }
}
@@ -505,20 +513,10 @@ generic_mozilla_int_notifier(GConfClient *client,
GConfEntry *entry,
const char *pref_name)
{
- /* determine type of gconf key, in order of likelyhood */
- switch (entry->value->type)
- {
- case GCONF_VALUE_INT: mozilla_prefs_set_int(pref_name,
- gconf_value_get_int(entry->value));
- break;
- case GCONF_VALUE_BOOL: mozilla_prefs_set_boolean(pref_name,
- gconf_value_get_bool(entry->value));
- break;
- case GCONF_VALUE_STRING: mozilla_prefs_set_string(pref_name,
- gconf_value_get_string(entry->value));
- break;
- default: g_warning("Unsupported variable type");
- }
+ int value;
+
+ value = eel_gconf_get_integer (entry->key);
+ mozilla_prefs_set_int (pref_name, value);
}
@@ -532,17 +530,10 @@ generic_mozilla_bool_notifier(GConfClient *client,
GConfEntry *entry,
const char *pref_name)
{
- /* determine type of gconf key, in order of likelyhood */
- switch (entry->value->type)
- {
- case GCONF_VALUE_BOOL: mozilla_prefs_set_boolean(pref_name,
- gconf_value_get_bool(entry->value));
- break;
- case GCONF_VALUE_INT: mozilla_prefs_set_int(pref_name,
- gconf_value_get_int(entry->value));
- break;
- default: g_warning("Unsupported variable type");
- }
+ gboolean value;
+
+ value = eel_gconf_get_boolean (entry->key);
+ mozilla_prefs_set_boolean (pref_name, value);
}
static void
@@ -551,8 +542,10 @@ mozilla_own_colors_notifier(GConfClient *client,
GConfEntry *entry,
EphyEmbedSingle *single)
{
- mozilla_prefs_set_boolean("browser.display.use_document_colors",
- !gconf_value_get_bool(entry->value));
+ gboolean value;
+
+ value = eel_gconf_get_boolean (entry->key);
+ mozilla_prefs_set_boolean ("browser.display.use_document_colors", !value);
}
static void
@@ -563,7 +556,7 @@ mozilla_own_fonts_notifier(GConfClient *client,
{
int value;
- value = gconf_value_get_bool(entry->value) ? 0 : 1;
+ value = eel_gconf_get_boolean (entry->key) ? 0 : 1;
mozilla_prefs_set_int("browser.display.use_document_fonts", value);
}
@@ -573,9 +566,10 @@ mozilla_allow_popups_notifier(GConfClient *client,
GConfEntry *entry,
EphyEmbedSingle *single)
{
- gboolean new_val = eel_gconf_get_boolean(CONF_SECURITY_ALLOW_POPUPS);
- mozilla_prefs_set_boolean ("dom.disable_open_during_load",
- !new_val);
+ gboolean value;
+
+ value = eel_gconf_get_boolean (entry->key);
+ mozilla_prefs_set_boolean ("dom.disable_open_during_load", !value);
}
static char *
@@ -629,7 +623,7 @@ mozilla_language_notifier(GConfClient *client,
GString *result;
languages = eel_gconf_get_string_list (CONF_RENDERING_LANGUAGE);
- g_return_if_fail (languages != NULL);
+ if (languages == NULL) return;
result = g_string_new ("");