evolution-rss r227 - trunk/src
- From: lucilanga svn gnome org
- To: svn-commits-list gnome org
- Subject: evolution-rss r227 - trunk/src
- Date: Tue, 25 Mar 2008 12:28:58 +0000 (GMT)
Author: lucilanga
Date: Tue Mar 25 12:28:57 2008
New Revision: 227
URL: http://svn.gnome.org/viewvc/evolution-rss?rev=227&view=rev
Log:
fix edit/add feeds
Modified:
trunk/src/rss-config-factory.c
trunk/src/rss.h
Modified: trunk/src/rss-config-factory.c
==============================================================================
--- trunk/src/rss-config-factory.c (original)
+++ trunk/src/rss-config-factory.c Tue Mar 25 12:28:57 2008
@@ -645,10 +645,10 @@
camel_store_free_folder_info (store, fi);
}
-feed*
+hrfeed*
save_feed_hash(gpointer name)
{
- feed *saved_feed = g_new0(feed, 1);
+ hrfeed *saved_feed = g_new0(hrfeed, 1);
saved_feed->hrname = g_strdup(g_hash_table_lookup(rf->hrname, name));
saved_feed->hrname_r = g_strdup(g_hash_table_lookup(rf->hrname_r, lookup_key(name)));
saved_feed->hre = g_hash_table_lookup(rf->hre, lookup_key(name));
@@ -666,14 +666,14 @@
// name - key to restore
// s - feed structure to restore
void
-restore_feed_hash(gpointer name, feed *s)
+restore_feed_hash(gpointer name, hrfeed *s)
{
g_hash_table_insert(rf->hre, g_strdup(lookup_key(name)), s->hre);
- g_hash_table_insert(rf->hrh, g_strdup(lookup_key(name)), s->hre);
- g_hash_table_insert(rf->hrdel_feed, g_strdup(lookup_key(name)), s->hre);
- g_hash_table_insert(rf->hrdel_days, g_strdup(lookup_key(name)), s->hre);
- g_hash_table_insert(rf->hrdel_messages, g_strdup(lookup_key(name)), s->hre);
- g_hash_table_insert(rf->hrdel_unread, g_strdup(lookup_key(name)), s->hre);
+ g_hash_table_insert(rf->hrh, g_strdup(lookup_key(name)), s->hrh);
+ g_hash_table_insert(rf->hrdel_feed, g_strdup(lookup_key(name)), s->hrdel_feed);
+ g_hash_table_insert(rf->hrdel_days, g_strdup(lookup_key(name)), s->hrdel_days);
+ g_hash_table_insert(rf->hrdel_messages, g_strdup(lookup_key(name)), s->hrdel_messages);
+ g_hash_table_insert(rf->hrdel_unread, g_strdup(lookup_key(name)), s->hrdel_unread);
}
void
@@ -938,7 +938,9 @@
_("Feed already exists!"));
goto out;
}
- gchar *value1 = g_strdup(g_hash_table_lookup(rf->hr, key));
+// gchar *value1 = g_strdup(g_hash_table_lookup(rf->hr, key));
+ hrfeed *saved_feed;
+ saved_feed = save_feed_hash(key);
remove_feed_hash(name);
g_hash_table_remove(rf->hr, key);
gpointer md5 = gen_md5(feed->feed_url);
@@ -946,10 +948,11 @@
{
//editing might loose a corectly setup feed
//so re-add previous deleted feed
- g_hash_table_insert(rf->hr, g_strdup(key), value1);
+// g_hash_table_insert(rf->hr, g_strdup(key), value1);
+ restore_feed_hash(key, saved_feed);
}
- else
- g_free(value1);
+// else
+// g_free(value1);
gtk_list_store_clear(GTK_LIST_STORE(model));
g_hash_table_foreach(rf->hrname, construct_list, model);
save_gconf_feed();
Modified: trunk/src/rss.h
==============================================================================
--- trunk/src/rss.h (original)
+++ trunk/src/rss.h Tue Mar 25 12:28:57 2008
@@ -45,7 +45,7 @@
//we keep these values of a feed to be deleted in order
//to easily restore in case delete does not success or
//it is canceled
-typedef struct _feed {
+typedef struct _hrfeed {
gchar *hrname;
gchar *hrname_r;
gchar *hr;
@@ -56,7 +56,7 @@
guint hrdel_days;
guint hrdel_messages;
guint hrdel_unread;
-} feed;
+} hrfeed;
typedef struct _rssfeed {
GHashTable *hrname; //bind feed name to key
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]