Przeglądaj źródła

qubes-desktop-run: don't crash on Debian wheezy (glib < 2.36)

Gio.DesktopAppInfo.get_boolean was introduced in glib 2.36. Instead of
crashing simply do not support DBusActivatable there. There is no such
application in default Debian wheezy template anyway.
Marek Marczykowski-Górecki 8 lat temu
rodzic
commit
0b7ade11b8
1 zmienionych plików z 8 dodań i 7 usunięć
  1. 8 7
      misc/xdg.py

+ 8 - 7
misc/xdg.py

@@ -6,13 +6,14 @@ import dbus
 
 def launch(desktop, *files):
     launcher = Gio.DesktopAppInfo.new_from_filename(desktop)
-    activatable = launcher.get_boolean('DBusActivatable')
-    if activatable:
-        bus = dbus.SessionBus()
-        service_id = launcher.get_id()
-        # cut the .desktop suffix
-        service_id = service_id[:-8]
-        bus.start_service_by_name(service_id)
+    if hasattr(launcher, 'get_boolean'):
+        activatable = launcher.get_boolean('DBusActivatable')
+        if activatable:
+            bus = dbus.SessionBus()
+            service_id = launcher.get_id()
+            # cut the .desktop suffix
+            service_id = service_id[:-8]
+            bus.start_service_by_name(service_id)
     launcher.launch(files, None)
 
 if __name__ == "__main__":