Package: quodlibet-plugins
Version: 20070529-1

originally found at: https://launchpad.net/ubuntu/+bug/120065
--
On pausing/unpausing and when changing tracks I get the following error
(lines and affected functions differ on every event)
Traceback (most recent call last):
  File "/usr/share/quodlibet/plugins/events.py", line 128, in __invoke
    try: handler(*args)
  File "/usr/share/quodlibet/plugins/events/gajim_status.py", line 92,
in plugin_on_unpaused
    self.change_status(self.accounts, self.current)
  File "/usr/share/quodlibet/plugins/events/gajim_status.py", line 73,
in change_status
    for account in self.interface.list_accounts():
AttributeError: 'NoneType' object has no attribute 'list_accounts'

$ LC_ALL=C apt-cache policy quodlibet-plugins
quodlibet-plugins:
  Installed: 20070529-1ubuntu1
  Candidate: 20070529-1ubuntu1
  Version table:
 *** 20070529-1ubuntu1 0
        500 http://archive.ubuntu.com gutsy/universe Packages
        100 /var/lib/dpkg/status
$ LC_ALL=C apt-cache policy quodlibet
quodlibet:
  Installed: 1.0-0ubuntu1
  Candidate: 1.0-0ubuntu1
  Version table:
 *** 1.0-0ubuntu1 0
        500 http://archive.ubuntu.com gutsy/universe Packages
        100 /var/lib/dpkg/status
--

This should also affect debian since ubuntu made no changes to the gajim
plugin.
The attached patch should fix this issue.
--- quodlibet-plugins-20070529.orig/events/gajim_status.py
+++ quodlibet-plugins-20070529/events/gajim_status.py
@@ -82,14 +82,17 @@
             self.current = Pattern(self.pattern) % song
         else:
             self.current = ''
-        self.change_status(self.accounts, self.current)
+        if self.interface:
+            self.change_status(self.accounts, self.current)
 
     def plugin_on_paused(self):
-        if self.paused and self.current != '':
-            self.change_status(self.accounts, self.current + " [paused]")
+        if self.interface:
+            if self.paused and self.current != '':
+                self.change_status(self.accounts, self.current + " [paused]")
 
     def plugin_on_unpaused(self):
-        self.change_status(self.accounts, self.current)
+        if self.interface:
+            self.change_status(self.accounts, self.current)
 
     def accounts_changed(self, entry):
         self.accounts = entry.get_text().split()

Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to