summaryrefslogtreecommitdiff
path: root/community/listen/listen-fix-dbus.diff
blob: 5953352f1dfbcadbfadda40ab3cb023895e303e2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
Index: src/dbus_manager.py
===================================================================
--- src/dbus_manager.py	(revision 670)
+++ src/dbus_manager.py	(working copy)
@@ -30,9 +30,18 @@
     import dbus
     import dbus.service
     #Try connection du message bus
-    dbus.SessionBus()
-    if getattr(dbus, 'version', (0,0,0)) >= (0,41,0):
+    dbus_version = getattr(dbus, 'version',(0,0,0))
+    if dbus_version >= (0,41,0) and dbus_version < (0,80,0):
+        dbus.SessionBus()
         import dbus.glib
+    elif dbus_version >= (0,80,0):
+        from dbus.mainloop.glib import DBusGMainLoop
+        DBusGMainLoop(set_as_default=True)
+        dbus.SessionBus()
+    else:
+        pass
+        
+
 except: dbus_imported = False
 else: dbus_imported=True
 
@@ -41,14 +50,14 @@
 
 if not dbus_imported:
     class ListenDBus:
-        def __init__(self,win,player,object_path="/org/gnome/listen/"):
+        def __init__(self,win,player,object_path="/org/gnome/listen"):
             self.player = player
             self.win = win    
     print "No dbus support"
 else:
     
     class ListenDBus(dbus.service.Object):
-        def __init__(self,win,player,object_path="/org/gnome/listen/"):
+        def __init__(self,win,player,object_path="/org/gnome/listen"):
             self.player = player
             self.win = win
             self.bus = dbus.SessionBus()
@@ -105,4 +114,4 @@
                 song = self.player.song    
                 return str( song.get_str("title")+ " - ("+song.get_str("album")+" - "+song.get_str("artist")+")")
             else:
-                return ""
\ No newline at end of file
+                return ""