aboutsummaryrefslogtreecommitdiffstats
path: root/embed/downloader-view.c
diff options
context:
space:
mode:
authorMarco Pesenti Gritti <marco@gnome.org>2004-03-01 08:58:50 +0800
committerMarco Pesenti Gritti <marco@src.gnome.org>2004-03-01 08:58:50 +0800
commit2737b39233fc4cf0cfa332a233371e3344f6c99c (patch)
treebb30b97e10c2761988e08cd0408371443e5b172b /embed/downloader-view.c
parent4461c9354db2be499323f99a2fe17fab73df3eba (diff)
downloadgsoc2013-epiphany-2737b39233fc4cf0cfa332a233371e3344f6c99c.tar
gsoc2013-epiphany-2737b39233fc4cf0cfa332a233371e3344f6c99c.tar.gz
gsoc2013-epiphany-2737b39233fc4cf0cfa332a233371e3344f6c99c.tar.bz2
gsoc2013-epiphany-2737b39233fc4cf0cfa332a233371e3344f6c99c.tar.lz
gsoc2013-epiphany-2737b39233fc4cf0cfa332a233371e3344f6c99c.tar.xz
gsoc2013-epiphany-2737b39233fc4cf0cfa332a233371e3344f6c99c.tar.zst
gsoc2013-epiphany-2737b39233fc4cf0cfa332a233371e3344f6c99c.zip
Keep a ref for downloads in the view.
2004-03-01 Marco Pesenti Gritti <marco@gnome.org> * embed/downloader-view.c: (downloader_view_add_download), (downloader_view_remove_download): Keep a ref for downloads in the view. * embed/mozilla/ContentHandler.cpp: * embed/mozilla/ContentHandler.h: Ensure the download directory exist. * embed/mozilla/MozDownload.cpp: * embed/mozilla/mozilla-download.cpp: * embed/mozilla/mozilla-download.h: Use a property to store MozDownload in the wrapper. The wrapper now keep a reference on the c++ implementation, that way references will be correctly propagated (unreffing the GObject will unref the c++ object). (Bug 135755)
Diffstat (limited to 'embed/downloader-view.c')
-rw-r--r--embed/downloader-view.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/embed/downloader-view.c b/embed/downloader-view.c
index 18b2f940c..38360f089 100644
--- a/embed/downloader-view.c
+++ b/embed/downloader-view.c
@@ -437,6 +437,8 @@ downloader_view_add_download (DownloaderView *dv,
GtkTreeSelection *selection;
GtkTreePath *path;
+ g_object_ref (download);
+
gtk_list_store_append (GTK_LIST_STORE (dv->priv->model),
&iter);
gtk_list_store_set (GTK_LIST_STORE (dv->priv->model),
@@ -628,6 +630,7 @@ downloader_view_remove_download (DownloaderView *dv, EphyDownload *download)
gtk_list_store_remove (GTK_LIST_STORE (dv->priv->model), &iter2);
g_hash_table_remove (dv->priv->downloads_hash,
download);
+ g_object_unref (download);
/* Actual selection */