=== modified file 'src/mn-popup.gob' --- src/mn-popup.gob 2009-02-22 05:30:52 +0000 +++ src/mn-popup.gob 2009-02-22 05:11:37 +0000 @@ -56,7 +56,8 @@ g_string_free(body, TRUE); - self_add_actions(self); + if ( mn_popups_can_use_actions == 1 ) + self_add_actions(self); notify_notification_set_timeout(NOTIFY_NOTIFICATION(self), self_get_conf_timeout()); === modified file 'src/mn-popups.gob' --- src/mn-popups.gob 2009-02-22 05:30:52 +0000 +++ src/mn-popups.gob 2009-02-22 05:10:29 +0000 @@ -36,6 +36,8 @@ * encountered), the value is NULL. */ private GHashTable *popups = {g_hash_table_new_full(g_str_hash, g_str_equal, g_free, (GDestroyNotify) mn_g_object_null_unref)} destroywith g_hash_table_destroy; + public GList *server_caps; + public bool *server_caps_actions; init (self) { @@ -45,6 +47,9 @@ mn_g_object_gconf_notifications_add_gdk_locked(self, MN_CONF_POPUPS_NAMESPACE, self_notify_cb, self, NULL); + + mn_popups_server_caps = notify_get_server_caps(); + mn_popups_server_caps_actions = g_list_find(mn_popups_server_caps,"actions") != NULL; g_signal_connect(mn_shell->mailboxes, "messages-changed", G_CALLBACK(self_messages_changed_h), self); } @@ -267,4 +272,10 @@ { return GET_NEW; } + + public bool can_use_actions(void) + { + /* Returns True if notification server will make use of actions, False if not */ + return mn_popups_server_caps_actions; + } }