* src/common/plugin.c
* src/etpan/imap-thread.c
* src/etpan/nntp-thread.c
* src/gtk/gtksctree.c
Fix bug 1613, 'Various memory leaks';
based on a patch by Didier Barvaux.
+2008-05-18 [colin] 3.4.0cvs51
+
+ * src/common/plugin.c
+ * src/etpan/imap-thread.c
+ * src/etpan/nntp-thread.c
+ * src/gtk/gtksctree.c
+ Fix bug 1613, 'Various memory leaks';
+ based on a patch by Didier Barvaux.
+
2008-05-18 [colin] 3.4.0cvs50
* src/mimeview.c
2008-05-18 [colin] 3.4.0cvs50
* src/mimeview.c
( cvs diff -u -r 1.1.2.52 -r 1.1.2.53 src/prefs_summaries.c; cvs diff -u -r 1.395.2.367 -r 1.395.2.368 src/summaryview.c; ) > 3.4.0cvs48.patchset
( cvs diff -u -r 1.25.2.54 -r 1.25.2.55 src/stock_pixmap.c; ) > 3.4.0cvs49.patchset
( cvs diff -u -r 1.83.2.130 -r 1.83.2.131 src/mimeview.c; cvs diff -u -r 1.10.2.15 -r 1.10.2.16 src/privacy.h; cvs diff -u -r 1.43.2.98 -r 1.43.2.99 src/toolbar.c; cvs diff -u -r 1.19.2.26 -r 1.19.2.27 src/toolbar.h; cvs diff -u -r 1.1.2.49 -r 1.1.2.50 src/plugins/pgpcore/sgpgme.c; ) > 3.4.0cvs50.patchset
( cvs diff -u -r 1.1.2.52 -r 1.1.2.53 src/prefs_summaries.c; cvs diff -u -r 1.395.2.367 -r 1.395.2.368 src/summaryview.c; ) > 3.4.0cvs48.patchset
( cvs diff -u -r 1.25.2.54 -r 1.25.2.55 src/stock_pixmap.c; ) > 3.4.0cvs49.patchset
( cvs diff -u -r 1.83.2.130 -r 1.83.2.131 src/mimeview.c; cvs diff -u -r 1.10.2.15 -r 1.10.2.16 src/privacy.h; cvs diff -u -r 1.43.2.98 -r 1.43.2.99 src/toolbar.c; cvs diff -u -r 1.19.2.26 -r 1.19.2.27 src/toolbar.h; cvs diff -u -r 1.1.2.49 -r 1.1.2.50 src/plugins/pgpcore/sgpgme.c; ) > 3.4.0cvs50.patchset
+( cvs diff -u -r 1.13.2.34 -r 1.13.2.35 src/common/plugin.c; cvs diff -u -r 1.1.4.100 -r 1.1.4.101 src/etpan/imap-thread.c; cvs diff -u -r 1.1.2.5 -r 1.1.2.6 src/etpan/nntp-thread.c; cvs diff -u -r 1.1.4.44 -r 1.1.4.45 src/gtk/gtksctree.c; cvs diff -u -r 1.14.2.62 -r 1.14.2.63 src/plugins/trayicon/trayicon.c; ) > 3.4.0cvs51.patchset
MICRO_VERSION=0
INTERFACE_AGE=0
BINARY_AGE=0
MICRO_VERSION=0
INTERFACE_AGE=0
BINARY_AGE=0
EXTRA_RELEASE=
EXTRA_GTK2_VERSION=
EXTRA_RELEASE=
EXTRA_GTK2_VERSION=
dep_plugin = plugin_load(path, error);
if (dep_plugin == NULL) {
g_free(path);
dep_plugin = plugin_load(path, error);
if (dep_plugin == NULL) {
g_free(path);
if ((pfile = prefs_read_open(rcpath)) == NULL ||
(prefs_set_block_label(pfile, block) < 0)) {
g_free(rcpath);
if ((pfile = prefs_read_open(rcpath)) == NULL ||
(prefs_set_block_label(pfile, block) < 0)) {
g_free(rcpath);
+ if (pfile)
+ prefs_file_close(pfile);
void imap_main_done(void)
{
void imap_main_done(void)
{
etpan_thread_manager_stop(thread_manager);
#if defined(__NetBSD__) || defined(__OpenBSD__) || defined(__FreeBSD__)
return;
etpan_thread_manager_stop(thread_manager);
#if defined(__NetBSD__) || defined(__OpenBSD__) || defined(__FreeBSD__)
return;
#define DISABLE_LOG_DURING_LOGIN
static struct etpan_thread_manager * thread_manager = NULL;
#define DISABLE_LOG_DURING_LOGIN
static struct etpan_thread_manager * thread_manager = NULL;
-static chash * courier_workaround_hash = NULL;
static chash * nntp_hash = NULL;
static chash * session_hash = NULL;
static guint thread_manager_signal = 0;
static chash * nntp_hash = NULL;
static chash * session_hash = NULL;
static guint thread_manager_signal = 0;
nntp_hash = chash_new(CHASH_COPYKEY, CHASH_DEFAULTSIZE);
session_hash = chash_new(CHASH_COPYKEY, CHASH_DEFAULTSIZE);
nntp_hash = chash_new(CHASH_COPYKEY, CHASH_DEFAULTSIZE);
session_hash = chash_new(CHASH_COPYKEY, CHASH_DEFAULTSIZE);
- courier_workaround_hash = chash_new(CHASH_COPYKEY, CHASH_DEFAULTSIZE);
thread_manager = etpan_thread_manager_new();
thread_manager = etpan_thread_manager_new();
+static void gtk_sctree_finalize(GObject *object)
+{
+ GtkSCTree *sctree = GTK_SCTREE(object);
+ g_free(sctree->use_markup);
+ sctree->use_markup = NULL;
+ G_OBJECT_CLASS (parent_class)->finalize (object);
+}
+
/* Standard class initialization function */
static void
gtk_sctree_class_init (GtkSCTreeClass *klass)
{
/* Standard class initialization function */
static void
gtk_sctree_class_init (GtkSCTreeClass *klass)
{
+ GObjectClass *gobject_class = G_OBJECT_CLASS (klass);
GtkObjectClass *object_class;
GtkWidgetClass *widget_class;
GtkCListClass *clist_class;
GtkObjectClass *object_class;
GtkWidgetClass *widget_class;
GtkCListClass *clist_class;
widget_class->drag_motion = gtk_sctree_drag_motion;
widget_class->drag_drop = gtk_sctree_drag_drop;
widget_class->drag_data_received = gtk_sctree_drag_data_received;
widget_class->drag_motion = gtk_sctree_drag_motion;
widget_class->drag_drop = gtk_sctree_drag_drop;
widget_class->drag_data_received = gtk_sctree_drag_data_received;
+
+ gobject_class->finalize = gtk_sctree_finalize;
}
/* Standard object initialization function */
}
/* Standard object initialization function */