[evolution-rss] do not crash when clicking rss icon
- From: Lucian Langa <lucilanga src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [evolution-rss] do not crash when clicking rss icon
- Date: Sun, 28 Feb 2010 12:18:13 +0000 (UTC)
commit f87c6266a691eaee96b71178db8f22505d46f98b
Author: Lucian Langa <lucilanga gnome org>
Date: Sun Feb 28 14:16:59 2010 +0200
do not crash when clicking rss icon
src/rss.c | 38 +++++++++++++++++++++++++++++++-------
src/rss.h | 2 +-
2 files changed, 32 insertions(+), 8 deletions(-)
---
diff --git a/src/rss.c b/src/rss.c
index d8a6b18..e38a3f0 100644
--- a/src/rss.c
+++ b/src/rss.c
@@ -4343,7 +4343,7 @@ custom_fetch_feed(gpointer key, gpointer value, gpointer user_data)
return 0;
}
-void gtkut_window_popup(GtkWidget *window)
+void evo_window_popup(GtkWidget *window)
{
gint x, y, sx, sy, new_x, new_y;
@@ -4370,20 +4370,38 @@ void gtkut_window_popup(GtkWidget *window)
static void
icon_activated (GtkStatusIcon *icon, gpointer pnotify)
{
+#if EVOLUTION_VERSION < 22900 //KB//
GList *p, *pnext;
for (p = (gpointer)evo_window; p != NULL; p = pnext) {
pnext = p->next;
if (gtk_window_is_active(GTK_WINDOW(p->data))) {
- g_print("window active\n");
gtk_window_iconify(GTK_WINDOW(p->data));
- gtk_window_set_skip_taskbar_hint(GTK_WINDOW(p->data), TRUE);
+ gtk_window_set_skip_taskbar_hint(
+ GTK_WINDOW(p->data),
+ TRUE);
} else {
gtk_window_iconify(GTK_WINDOW(p->data));
- gtkut_window_popup(GTK_WIDGET(p->data));
- gtk_window_set_skip_taskbar_hint(GTK_WINDOW(p->data), FALSE);
+ evo_window_popup(GTK_WIDGET(p->data));
+ gtk_window_set_skip_taskbar_hint(
+ GTK_WINDOW(p->data),
+ FALSE);
}
}
+#else
+ if (gtk_window_is_active(evo_window)) {
+ gtk_window_iconify(evo_window);
+ gtk_window_set_skip_taskbar_hint(
+ evo_window,
+ TRUE);
+ } else {
+ gtk_window_iconify(evo_window);
+ evo_window_popup(evo_window);
+ gtk_window_set_skip_taskbar_hint(
+ evo_window,
+ FALSE);
+ }
+#endif
}
static void
@@ -4395,9 +4413,15 @@ create_status_icon(void)
NULL);
status_icon = gtk_status_icon_new ();
- gtk_status_icon_set_from_file (status_icon, iconfile);
+ gtk_status_icon_set_from_file (
+ status_icon,
+ iconfile);
g_free(iconfile);
- g_signal_connect (G_OBJECT (status_icon), "activate", G_CALLBACK (icon_activated), NULL);
+ g_signal_connect (
+ G_OBJECT (status_icon),
+ "activate",
+ G_CALLBACK (icon_activated),
+ NULL);
}
// gtk_status_icon_set_visible (status_icon, FALSE);
}
diff --git a/src/rss.h b/src/rss.h
index 5f5f2d7..184ecab 100644
--- a/src/rss.h
+++ b/src/rss.h
@@ -497,7 +497,7 @@ gboolean check_update_feed_image(gchar *key);
void get_feed_folders(void);
void update_main_folder(gchar *new_name);
void search_rebase(gpointer key, gpointer value, gchar *oname);
-void gtkut_window_popup(GtkWidget *window);
+void evo_window_popup(GtkWidget *window);
void flaten_status(gpointer msg, gpointer user_data);
gboolean check_if_enabled (
gpointer key,
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]