From 9f70e82e7fd4d8888f55c63cf3eb911d27b0fbec Mon Sep 17 00:00:00 2001
From: Marco Pesenti Gritti <marco@it.gnome.org>
Date: Sun, 13 Jul 2003 08:52:36 +0000
Subject: 2003-07-13  Marco Pesenti Gritti  <marco@it.gnome.org>

	* Makefile.am:
	* configure.in:
	* embed/Makefile.am:
	* embed/ephy-embed-shell.c: (ephy_embed_shell_get_favicon_cache),
	(impl_get_downloader_view):
	* embed/ephy-embed-shell.h:
	* embed/ephy-embed-single.c:
	* embed/ephy-embed-single.h:
	* embed/mozilla/ProgressListener.cpp:
	* embed/mozilla/mozilla-embed.cpp:
	* lib/Makefile.am:
	* lib/ephy-langs.h:
	* lib/ephy-node.c: (unref_signal_objects),
	(ephy_node_signal_connect_object):
	* plugins/Makefile.am:
	* plugins/sample/Makefile.am:
	* plugins/sample/sample.c: (bmk_added), (bmk_removed),
	(bmk_changed), (switch_page_cb), (window_focus_in_cb),
	(location_changed_cb), (tab_added_cb), (new_window_cb),
	(plugin_init):
	* src/Makefile.am:
	* src/bookmarks/Makefile.am:
	* src/bookmarks/ephy-bookmark-action.c:
	(ephy_bookmark_action_sync_icon):
	* src/bookmarks/ephy-bookmark-properties.c: (set_window_icon),
	(ephy_bookmark_properties_init):
	* src/bookmarks/ephy-bookmarks-editor.c: (provide_favicon),
	(ephy_bookmarks_editor_init):
	* src/bookmarks/ephy-bookmarks.c: (update_favorites_menus):
	* src/bookmarks/ephy-topic-action.c: (build_bookmarks_menu):
	* src/ephy-automation.c: (impl_ephy_automation_loadurl),
	(impl_ephy_automation_quit), (impl_ephy_automation_load_session):
	* src/ephy-favicon-action.c: (ephy_favicon_action_init):
	* src/ephy-history-window.c: (confirmation_dialog_response_cb),
	(provide_favicon):
	* src/ephy-location-action.c: (connect_proxy):
	* src/ephy-notebook.c: (sync_icon):
	* src/ephy-shell.c: (ephy_shell_get_active_window),
	(ephy_shell_get_session), (ephy_shell_get_autocompletion),
	(ephy_shell_get_toolbars_model):
	* src/ephy-shell.h:
	* src/ephy-tab.c: (ephy_tab_net_state_cb), (ephy_tab_init),
	(ephy_tab_get_action):
	* src/ephy-tab.h:
	* src/ephy-tabs-menu.c: (ephy_tabs_menu_update):
	* src/ephy-window.c: (ephy_window_fullscreen),
	(ephy_window_unfullscreen), (sync_tab_icon), (ephy_window_init),
	(remove_from_session), (ephy_window_get_active_tab):
---
 lib/ephy-node.c | 20 ++++++++++++++------
 1 file changed, 14 insertions(+), 6 deletions(-)

(limited to 'lib/ephy-node.c')

diff --git a/lib/ephy-node.c b/lib/ephy-node.c
index 6d9d9adab..2158c2da9 100644
--- a/lib/ephy-node.c
+++ b/lib/ephy-node.c
@@ -287,9 +287,12 @@ unref_signal_objects (long id,
 	              EphyNodeSignalData *signal_data,
 	              EphyNode *node)
 {
-	g_object_weak_unref (G_OBJECT (signal_data->data),
-			     (GWeakNotify)signal_object_weak_notify,
-			     signal_data);
+	if (signal_data->data)
+	{
+		g_object_weak_unref (G_OBJECT (signal_data->data),
+				     (GWeakNotify)signal_object_weak_notify,
+				     signal_data);
+	}
 }
 
 static void
@@ -1325,7 +1328,7 @@ ephy_node_signal_connect_object (EphyNode *node,
 	int ret;
 
 	g_return_val_if_fail (EPHY_IS_NODE (node), -1);
-	
+
 	signal_data = g_new0 (EphyNodeSignalData, 1);
 	signal_data->node = node;
 	signal_data->id = node->signal_id;
@@ -1336,8 +1339,13 @@ ephy_node_signal_connect_object (EphyNode *node,
 	g_hash_table_insert (node->signals,
 			     GINT_TO_POINTER (node->signal_id),
 			     signal_data);
-	g_object_weak_ref (object, (GWeakNotify)signal_object_weak_notify,
-			   signal_data);
+	if (object)
+	{
+		g_object_weak_ref (object,
+				   (GWeakNotify)signal_object_weak_notify,
+				   signal_data);
+	}
+
 	ret = node->signal_id;
 	node->signal_id++;
 
-- 
cgit