From 70a28b472495e6985f164bc364af005fed03875d Mon Sep 17 00:00:00 2001
From: Nikos Kouremenos <kourem@gmail.com>
Date: Sun, 24 Sep 2006 19:25:44 +0000
Subject: [PATCH] do not fail because of music track listener if user does not
 have D-Bus bindings

---
 src/dbus_support.py         | 2 +-
 src/music_track_listener.py | 6 ++++--
 src/roster_window.py        | 7 ++++++-
 3 files changed, 11 insertions(+), 4 deletions(-)

diff --git a/src/dbus_support.py b/src/dbus_support.py
index e1267b4370..112c412fe2 100644
--- a/src/dbus_support.py
+++ b/src/dbus_support.py
@@ -25,7 +25,7 @@ try:
 	import dbus
 	import dbus.service
 	# cause dbus 0.35+ doesn't return signal replies without it
-	import dbus.glib 
+	import dbus.glib
 	supported = True
 except ImportError:
 	supported = False
diff --git a/src/music_track_listener.py b/src/music_track_listener.py
index 525ccd269a..b5bccbdc40 100644
--- a/src/music_track_listener.py
+++ b/src/music_track_listener.py
@@ -14,8 +14,10 @@
 ## GNU General Public License for more details.
 ##
 import gobject
-import dbus
-import dbus.glib
+import dbus_support
+if dbus_support.supported:
+	import dbus
+	import dbus.glib
 
 class MusicTrackInfo(object):
 	__slots__ = ['title', 'album', 'artist', 'duration', 'track_number']
diff --git a/src/roster_window.py b/src/roster_window.py
index 8794605c67..7db74b36d5 100644
--- a/src/roster_window.py
+++ b/src/roster_window.py
@@ -39,7 +39,10 @@ from message_window import MessageWindowMgr
 from chat_control import ChatControl
 from groupchat_control import GroupchatControl
 from groupchat_control import PrivateChatControl
-from music_track_listener import MusicTrackListener
+
+import dbus_support
+if dbus_support.supported:
+	from music_track_listener import MusicTrackListener
 
 #(icon, name, type, jid, account, editable, second pixbuf)
 (
@@ -2389,6 +2392,8 @@ _('If "%s" accepts this request you will know his or her status.') % jid)
 		'''if enabled is True, we listen to events from music players about
 		currently played music track, and we update our
 		status message accordinly'''
+		if not dbus_support.supported: # do nothing if we haven't D-Bus running
+			return
 		if enabled:
 			if self._music_track_changed_signal is None:
 				listener = MusicTrackListener.get()
-- 
GitLab