diff -u gajim-0.12.1/debian/changelog gajim-0.12.1/debian/changelog --- gajim-0.12.1/debian/changelog +++ gajim-0.12.1/debian/changelog @@ -1,3 +1,10 @@ +gajim (0.12.1-0ubuntu2) jaunty; urgency=low + + * Don't use actions in notifications if the server doesn't support them. + (LP: #328615) + + -- James Westby Wed, 25 Feb 2009 13:31:57 +0000 + gajim (0.12.1-0ubuntu1) jaunty; urgency=low * New upstream bugfix release: only in patch2: unchanged: --- gajim-0.12.1.orig/src/notify.py +++ gajim-0.12.1/src/notify.py @@ -372,8 +372,9 @@ notification.set_data('account', account) notification.set_data('msg_type', msg_type) notification.set_property('icon-name', path_to_image) - notification.add_action('default', 'Default Action', - on_pynotify_notification_clicked) + if "actions" in pynotify.get_server_caps(): + notification.add_action('default', 'Default Action', + on_pynotify_notification_clicked) try: notification.show() @@ -500,6 +501,7 @@ if self.notif is None: raise dbus.DBusException('unable to get notifications interface') self.ntype = ntype + self.capabilities = self.notif.GetCapabilities() self.get_version() @@ -509,6 +511,9 @@ ntype = self.ntype if version[:2] == [0, 2]: try: + actions = {} + if "actions" in self.capabilities: + actions = {'default': 0} self.notif.Notify( dbus.String(_('Gajim')), dbus.String(self.path_to_image), @@ -518,7 +523,7 @@ dbus.String(self.title), dbus.String(self.text), [dbus.String(self.path_to_image)], - {'default': 0}, + actions, [''], True, dbus.UInt32(timeout), @@ -545,13 +550,16 @@ text = self.text else: text = ' ' + actions = () + if "actions" in self.capabilities: + actions = ( dbus.String('default'), dbus.String(self.event_type) ) self.notif.Notify( dbus.String(_('Gajim')), dbus.UInt32(0), # this notification does not replace other dbus.String(self.path_to_image), dbus.String(self.title), dbus.String(text), - ( dbus.String('default'), dbus.String(self.event_type) ), + actions, hints, dbus.UInt32(timeout*1000), reply_handler=self.attach_by_id,