2010-12-20 [colin] 3.7.8cvs15
authorColin Leroy <colin@colino.net>
Mon, 20 Dec 2010 13:17:42 +0000 (13:17 +0000)
committerColin Leroy <colin@colino.net>
Mon, 20 Dec 2010 13:17:42 +0000 (13:17 +0000)
* src/addrcindex.c
* src/addrcindex.h
Removed. Dead code since ages!
* src/addr_compl.c
* src/gtk/gtkcmclist.c
* src/gtk/gtkcmctree.c
* src/gtk/gtksctree.c
undefine *_DISABLE_DEPRECATED in the files that
use deprecated interfaces. Implicit declarations
can lead to crashes as prototypes are unknown, as
evidenced by bug #2315.

ChangeLog
PATCHSETS
configure.ac
src/addr_compl.c
src/addrcindex.c [deleted file]
src/addrcindex.h [deleted file]
src/gtk/gtkcmclist.c
src/gtk/gtkcmctree.c
src/gtk/gtksctree.c

index 6f03a09..25e8094 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,17 @@
+2010-12-20 [colin]     3.7.8cvs15
+
+       * src/addrcindex.c
+       * src/addrcindex.h
+               Removed. Dead code since ages!
+       * src/addr_compl.c
+       * src/gtk/gtkcmclist.c
+       * src/gtk/gtkcmctree.c
+       * src/gtk/gtksctree.c
+               undefine *_DISABLE_DEPRECATED in the files that
+               use deprecated interfaces. Implicit declarations
+               can lead to crashes as prototypes are unknown, as
+               evidenced by bug #2315.
+
 2010-12-20 [colin]     3.7.8cvs14
 
        * src/compose.c
index 04d1c06..bd744c2 100644 (file)
--- a/PATCHSETS
+++ b/PATCHSETS
 ( cvs diff -u -r 1.1.4.10 -r 1.1.4.11 src/common/base64.c;  ) > 3.7.8cvs12.patchset
 ( cvs diff -u -r 1.274.2.319 -r 1.274.2.320 src/mainwindow.c;  ) > 3.7.8cvs13.patchset
 ( cvs diff -u -r 1.382.2.562 -r 1.382.2.563 src/compose.c;  ) > 3.7.8cvs14.patchset
+( cvs diff -u -r 1.27.2.48 -r 1.27.2.49 src/addr_compl.c;  cvs diff -u -r -1.1.4.10 -r -1.1.4.11 src/addrcindex.c;  cvs diff -u -r -1.1.4.6 -r -1.1.4.7 src/addrcindex.h;  cvs diff -u -r 1.1.2.14 -r 1.1.2.15 src/gtk/gtkcmclist.c;  cvs diff -u -r 1.1.2.16 -r 1.1.2.17 src/gtk/gtkcmctree.c;  cvs diff -u -r 1.1.4.58 -r 1.1.4.59 src/gtk/gtksctree.c;  ) > 3.7.8cvs15.patchset
index 076f448..b45e427 100644 (file)
@@ -12,7 +12,7 @@ MINOR_VERSION=7
 MICRO_VERSION=8
 INTERFACE_AGE=0
 BINARY_AGE=0
-EXTRA_VERSION=14
+EXTRA_VERSION=15
 EXTRA_RELEASE=
 EXTRA_GTK2_VERSION=
 
index 7ff56ec..7abbc72 100644 (file)
 #endif
 #include "defs.h"
 
+/* We know this file uses some deprecated stuff. */
+#undef G_DISABLE_DEPRECATED
+#undef GTK_DISABLE_DEPRECATED
+#undef GDK_DISABLE_DEPRECATED
+
 #include <glib.h>
 #include <glib/gi18n.h>
 #include <gdk/gdkkeysyms.h>
diff --git a/src/addrcindex.c b/src/addrcindex.c
deleted file mode 100644 (file)
index eaaa077..0000000
+++ /dev/null
@@ -1,380 +0,0 @@
-/*
- * Sylpheed -- a GTK+ based, lightweight, and fast e-mail client
- * Copyright (C) 2002-2009 Match Grun and the Claws Mail team
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- * 
- */
-
-/*
- * Functions to maintain address completion index.
- */
-
-#include <stdio.h>
-#include <string.h>
-
-#include "mgutils.h"
-#include "addritem.h"
-#include "addrcindex.h"
-
-/*
-static gint _n_created = 0;
-static gint _n_freed   = 0;
-*/
-
-typedef struct {
-       gchar     *name;
-       ItemEMail *address;
-}
-AddrIndexEntry;
-
-static gchar *addrcindex_function( gpointer data ) {
-       return ( ( AddrIndexEntry * ) data )->name;
-}
-
-/*
-* Create new completion index.
-*/
-AddrCacheIndex *addrcindex_create( void ) {
-       AddrCacheIndex *index;
-
-       /*
-       ++_n_created;
-       g_print( "addrcindex_create/1/%d\n", _n_created );
-       */
-       index = g_new0( AddrCacheIndex, 1 );
-       index->completion = g_completion_new( addrcindex_function );
-       index->addressList = NULL;
-       index->invalid = TRUE;
-
-       return index;
-}
-
-/*
-* Clear the completion index.
-*/
-void addrcindex_clear( AddrCacheIndex *index ) {
-       if( index ) {
-               /* Clear completion index */
-               g_completion_clear_items( index->completion );
-
-               /* Clear address list */        
-               g_list_free( index->addressList );
-               index->addressList = NULL;
-               index->invalid = TRUE;
-       }
-}
-
-/*
-* Free completion index.
-*/
-void addrcindex_free( AddrCacheIndex *index ) {
-       if( index ) {
-               /*
-               ++_n_freed;
-               g_print( "addrcindex_free/2/%d\n", _n_freed );
-               */
-               /* Clear out */
-               addrcindex_clear( index );
-
-               /* Free up */
-               g_completion_free( index->completion );
-               index->completion = NULL;
-               index->invalid = FALSE;
-
-               g_free( index );
-       }
-}
-
-/**
- * Mark index as invalid. Will need to be rebuilt.
- * \param index Address completion index.
- */
-void addrcindex_invalidate( AddrCacheIndex *index ) {
-       cm_return_if_fail( index != NULL );
-       index->invalid = TRUE;
-}
-
-/**
- * Mark index as valid.
- * \param index Address completion index.
- */
-void addrcindex_validate( AddrCacheIndex *index ) {
-       cm_return_if_fail( index != NULL );
-       index->invalid = FALSE;
-}
-
-/*
- * Add completion entry to index.
- * Enter: index Index.
- *        name  Name.
- *        email EMail entry to add.
- */
-void addrcindex_add_entry(
-       AddrCacheIndex *index, gchar *name, ItemEMail *email )
-{
-       AddrIndexEntry *entry;
-
-       entry = g_new0( AddrIndexEntry, 1 );
-       entry->address = email;
-       entry->name = g_utf8_strdown( name, -1 );
-       index->addressList = g_list_append( index->addressList, entry );
-}
-
-/*
-* Add an email entry into index. The index will also include all name fields
-* for the person.
-* 
-* Add address into index.
-* Enter: index Index.
-*        email E-Mail to add.
-*/
-void addrcindex_add_email( AddrCacheIndex *index, ItemEMail *email ) {
-       ItemPerson *person;
-       gchar *name;
-       GSList *uniqName;
-       GSList *node;
-       gboolean flag;
-
-       cm_return_if_fail( index != NULL );
-       cm_return_if_fail( email != NULL );
-
-       flag = FALSE;
-       uniqName = NULL;
-       name = ADDRITEM_NAME( email );
-       if( name != NULL ) {
-               if( strlen( name ) > 0 ) {
-                       uniqName = g_slist_append( uniqName, name );
-               }
-       }
-       name = email->address;
-       if( mgu_slist_test_unq_nc( uniqName, name ) ) {
-               uniqName = g_slist_append( uniqName, name );
-       }
-       if( name ) {
-               if( strlen( name ) > 0 ) flag = TRUE;
-       }
-
-       /* Bail if no email address */
-       if( ! flag ) {
-               g_slist_free( uniqName );
-               return;
-       }
-
-       person = ( ItemPerson * ) ADDRITEM_PARENT( email );
-       if( person != NULL ) {
-               name = ADDRITEM_NAME( person );
-               if( mgu_slist_test_unq_nc( uniqName, name ) ) {
-                       uniqName = g_slist_append( uniqName, name );
-               }
-
-               name = person->nickName;
-               if( mgu_slist_test_unq_nc( uniqName, name ) ) {
-                       uniqName = g_slist_append( uniqName, name );
-               }
-
-               name = person->firstName;
-               if( mgu_slist_test_unq_nc( uniqName, name ) ) {
-                       uniqName = g_slist_append( uniqName, name );
-               }
-
-               name = person->lastName;
-               if( mgu_slist_test_unq_nc( uniqName, name ) ) {
-                       uniqName = g_slist_append( uniqName, name );
-               }
-       }
-
-       /* Create a completion entry for each unique name */
-       node = uniqName;
-       while( node ) {
-               addrcindex_add_entry( index, node->data, email );
-               node = g_slist_next( node );
-       }
-       g_slist_free( uniqName );
-
-}
-
-/*
- * Process email address entry, checking for unique alias and address. If the
- * address field is empty, no entries will be generated.
- * Enter: index Index.
- *        uniqName List of unique names to examine.
- *        email    EMail address item to process.
- * Return: List of entries from email object to add to index.
- */
-static GSList *addrcindex_proc_mail(
-       AddrCacheIndex *index, GSList *uniqName, ItemEMail *email )
-{
-       GSList *list;
-       gchar *name;
-
-       /* Test for address */
-       list = NULL;
-       name = email->address;
-       if( name ) {
-               if( strlen( name ) > 0 ) {
-                       /* Address was supplied */
-                       /* Append alias if unique */
-                       name = ADDRITEM_NAME( email );
-                       if( mgu_slist_test_unq_nc( uniqName, name ) ) {
-                               list = g_slist_append( list, name );
-                       }
-                       /* Then append the address if unique */
-                       /* Note is possible that the address has already */
-                       /* been entered into one of the name fields. */
-                       if( mgu_slist_test_unq_nc( uniqName, email->address ) ) {
-                               list = g_slist_append( list, email->address );
-                       }
-               }
-       }
-       return list;
-}
-
-/*
-* Add person's address entries into index. Each email address is processed.
-* If the address field has been supplied, entries will be made. The index
-* will include the address, alias and all name fields for the person.
-* 
-* Enter: index  Index.
-*        person Person to add.
-*/
-void addrcindex_add_person( AddrCacheIndex *index, ItemPerson *person ) {
-       gchar *name;
-       GSList *uniqName;
-       GSList *node;
-       GSList *listMail;
-       GList  *listEMail;
-       ItemEMail *email;
-
-       cm_return_if_fail( index != NULL );
-       cm_return_if_fail( person != NULL );
-
-       /* Build list of all unique names in person's name fields */
-       uniqName = NULL;
-       name = ADDRITEM_NAME( person );
-       if( mgu_slist_test_unq_nc( uniqName, name ) ) {
-               uniqName = g_slist_append( uniqName, name );
-       }
-
-       name = person->nickName;
-       if( mgu_slist_test_unq_nc( uniqName, name ) ) {
-               uniqName = g_slist_append( uniqName, name );
-       }
-
-       name = person->firstName;
-       if( mgu_slist_test_unq_nc( uniqName, name ) ) {
-               uniqName = g_slist_append( uniqName, name );
-       }
-
-       name = person->lastName;
-       if( mgu_slist_test_unq_nc( uniqName, name ) ) {
-               uniqName = g_slist_append( uniqName, name );
-       }
-
-       /* Process each email address entry */
-       listEMail = person->listEMail;
-       while( listEMail ) {
-               email = listEMail->data;
-               listMail = addrcindex_proc_mail( index, uniqName, email );
-               if( listMail ) {
-                       /* Create a completion entry for the address item */
-                       node = listMail;
-                       while( node ) {
-                               /* g_print( "\tname-m::%s::\n", node->data ); */
-                               addrcindex_add_entry( index, node->data, email );
-                               node = g_slist_next( node );
-                       }
-                       /* ... and all person's name entries */
-                       node = uniqName;
-                       while( node ) {
-                               /* g_print( "\tname-p::%s::\n", node->data ); */
-                               addrcindex_add_entry( index, node->data, email );
-                               node = g_slist_next( node );
-                       }
-                       g_slist_free( listMail );
-               }
-               listEMail = g_list_next( listEMail );
-       }
-
-       /* Free up the list */
-       g_slist_free( uniqName );
-}
-
-/*
-* Print index to stream.
-* Enter: index  Index.
-*        stream Output stream.
-*/
-void addrcindex_print( AddrCacheIndex *index, FILE *stream ) {
-       GList *node;
-       AddrIndexEntry *entry;
-       ItemEMail *email;
-
-       cm_return_if_fail( index != NULL );
-       fprintf( stream, "AddressSearchIndex:\n" );
-       node = index->addressList;
-       while( node ) {
-               entry = node->data;
-               email = entry->address;
-               fprintf( stream, "\tname: '%s'\t'%s'\n", entry->name, email->address );
-               node = g_list_next( node );
-       }
-}
-
-/*
-* Perform search for specified search term.
-* Enter: index  Completion index.
-*        search Search string.
-* Return: List of references to ItemEMail objects meeting search criteria. The
-*         list should be g_list_free() when no longer required.
-*/
-GList *addrcindex_search( AddrCacheIndex *index, const gchar *search ) {
-       AddrIndexEntry *entry;
-       gchar *prefix;
-       GList *list;
-       GList *node;
-       GList *listEMail;
-
-       cm_return_if_fail( index != NULL );
-       cm_return_if_fail( search != NULL );
-
-       listEMail = NULL;
-       if( index->addressList != NULL ) { 
-               /* Add items to list */
-               g_completion_add_items( index->completion, index->addressList );
-
-               /* Perform the search */
-               prefix = g_utf8_strdown( search, -1 );
-               list = g_completion_complete( index->completion, prefix, NULL );
-               g_free( prefix );
-
-               /* Build list of unique EMail objects */
-               node = list;
-               while( node ) {
-                       entry = node->data;
-                       /* g_print( "\tname ::%s::\n", entry->name ); */
-                       if( NULL == g_list_find( listEMail, entry->address ) ) {
-                               listEMail = g_list_append(
-                                               listEMail, entry->address );
-                       }
-                       node = g_list_next( node );
-               }
-       }
-
-       return listEMail;
-}
-
-/*
-* End of Source.
-*/
diff --git a/src/addrcindex.h b/src/addrcindex.h
deleted file mode 100644 (file)
index f09d4bd..0000000
+++ /dev/null
@@ -1,62 +0,0 @@
-/*
- * Sylpheed -- a GTK+ based, lightweight, and fast e-mail client
- * Copyright (C) 2002-2009 Match Grun and the Claws Mail team
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- * 
- */
-
-/*
- * Functions to maintain address completion index.
- */
-
-#ifndef __ADDRCINDEX_H__
-#define __ADDRCINDEX_H__
-
-#include <glib.h>
-#include <stdio.h>
-
-#include "addritem.h"
-
-/*
- * Constants.
- */
-
-/* Data structures */
-typedef struct {
-       GCompletion *completion;
-       GList       *addressList;
-       gboolean    invalid;
-}
-AddrCacheIndex;
-
-/* Function prototypes */
-AddrCacheIndex *addrcindex_create      ( void );
-void addrcindex_clear          ( AddrCacheIndex *index );
-void addrcindex_free           ( AddrCacheIndex *index );
-void addrcindex_invalidate     ( AddrCacheIndex *index );
-void addrcindex_validate       ( AddrCacheIndex *index );
-void addrcindex_add_entry      ( AddrCacheIndex *index,
-                                 gchar *name,
-                                 ItemEMail *email );
-void addrcindex_add_email      ( AddrCacheIndex *index, ItemEMail *email );
-void addrcindex_add_person     ( AddrCacheIndex *index, ItemPerson *person );
-void addrcindex_print          ( AddrCacheIndex *index, FILE *stream );
-GList *addrcindex_search       ( AddrCacheIndex *index, const gchar *search );
-
-#endif /* __ADDRCINDEX_H__ */
-
-/*
-* End of Source.
-*/
index bc2118f..7e8ba9e 100644 (file)
 #include <stdlib.h>
 #include <string.h>
 
+/* We know this file uses some deprecated stuff. */
+#undef G_DISABLE_DEPRECATED
+#undef GTK_DISABLE_DEPRECATED
+#undef GDK_DISABLE_DEPRECATED
+
 #include <gtk/gtk.h>
 #include "claws-marshal.h"
 #include "gtkcmclist.h"
index ecc72f0..c984057 100644 (file)
 
 #include <config.h>
 #include <stdlib.h>
+
+/* We know this file uses some deprecated stuff. */
+#undef G_DISABLE_DEPRECATED
+#undef GTK_DISABLE_DEPRECATED
+#undef GDK_DISABLE_DEPRECATED
+
 #include <gtk/gtk.h>
 #include <gdk/gdkkeysyms.h>
 #include "gtkcmctree.h"
index 368d162..e411130 100644 (file)
 
 #include <stdlib.h>
 
+/* We know this file uses some deprecated stuff. */
+#undef G_DISABLE_DEPRECATED
+#undef GTK_DISABLE_DEPRECATED
+#undef GDK_DISABLE_DEPRECATED
+
 #include "gtksctree.h"
 #include "claws-marshal.h"
 #include "prefs_common.h"