X-Git-Url: https://git.wpitchoune.net/gitweb/?p=prss.git;a=blobdiff_plain;f=src%2Fmain.c;h=5b237208b5cffbf0446539e996992c0b518b8163;hp=91eb0dce63a18f69ccb04f10f8dbbcd03b70eef9;hb=ba998dd7b5a61fc2a1fa25538dc370eff0368c2c;hpb=d84f625a3e4be4c9b05a0ad97e979de7f3804afd diff --git a/src/main.c b/src/main.c index 91eb0dc..5b23720 100644 --- a/src/main.c +++ b/src/main.c @@ -87,7 +87,7 @@ GtkTreeView *w_headlinetree; void update() { struct feed **feeds; - GtkTreeModel *model; + GtkTreeModel *model, *headlinemodel; GtkTreeIter iter; char *title; @@ -96,7 +96,8 @@ void update() printf("update(): clear feed tree\n"); model_state = 1; gtk_list_store_clear(GTK_LIST_STORE(model)); - gtk_list_store_clear(GTK_LIST_STORE(gtk_tree_view_get_model(w_headlinetree))); + headlinemodel = gtk_tree_view_get_model(w_headlinetree); + gtk_list_store_clear(GTK_LIST_STORE(headlinemodel)); printf("update(): clear feed tree done\n"); feeds = ttrss_get_feeds(); while (feeds && *feeds) { @@ -245,22 +246,22 @@ int feed_cursor_changed_cbk(GtkTreeView *treeview, gpointer data) headlines = ttrss_feed_get_headlines(feed); while (headlines && *headlines) { gtk_list_store_append(headline_store, &iter); - + if ((*headlines)->unread) title = g_strdup_printf ("%s", (*headlines)->title); else title = strdup((*headlines)->title); - + gtk_list_store_set(headline_store, &iter, 0, title, 1, (*headlines)->id, -1); - + free(title); - + headlines++; } } @@ -276,7 +277,7 @@ int headline_cursor_changed_cbk(GtkTreeView *treeview, gpointer data) GtkTreeIter iter; GtkTreeModel *model; struct headline *headline; - const char *str; + char *str; printf("headline_cursor_changed_cbk\n"); @@ -293,6 +294,8 @@ int headline_cursor_changed_cbk(GtkTreeView *treeview, gpointer data) else web_load(""); + free(str); + if (headline->unread) { ttrss_set_article_unread(headline->id, 0); headline->unread = 0; @@ -305,8 +308,7 @@ int headline_cursor_changed_cbk(GtkTreeView *treeview, gpointer data) -1); } else { printf("headline not found\n"); - } - + } return TRUE; } @@ -333,14 +335,14 @@ void headline_row_activated_cbk(GtkWidget *widget, gpointer data) h = ttrss_get_headline(id); if (h) { url = h->url; - + if (gtk_widget_has_screen(widget)) - screen = gtk_widget_get_screen(widget); + screen = gtk_widget_get_screen(widget); else screen = gdk_screen_get_default(); - + error = NULL; - gtk_show_uri(screen, url, + gtk_show_uri(screen, url, gtk_get_current_event_time(), &error); } }