sugarlabs / sugar-toolkit-gtk3

Sugar Learning Environment, Activity Toolkit, GTK 3.
GNU Lesser General Public License v2.1
21 stars 80 forks source link

Don't assume all connection managers support Sugar #320

Closed samdroid-apps closed 8 years ago

samdroid-apps commented 8 years ago

If the user has a "random" telepathy connection manager installed and running on the system (eg. telepathy idle being active if they are chatting on irc with GNOME's Polari), activities will crash on startup.

Steps to reproduce the crash:

  1. Run Polari (eg. via the Terminal activity)
  2. Join an irc channel in Polari (eg. #sugar on freenode)
  3. Try to open an activity from the home view
    • notice that opening any sugar3 activity will crash

This is probably very relevant to @icarito GNOME patches, as many GNOME users probably have telepathy or empathy with "random" connection managers. Steps to reproduce under gnome:

  1. Run Polarai, connected to #sugar on freenode
  2. cd browse-activity
  3. sugar-activity -> ```Traceback (most recent call last): File "/usr/bin/sugar-activity", line 220, in main() File "/usr/bin/sugar-activity", line 215, in main instance = create_activity_instance(activity_constructor, activity_handle) File "/usr/bin/sugar-activity", line 48, in create_activity_instance activity = constructor(handle) File "/home/saam/sugar-build/activities/browse/webactivity.py", line 150, in init activity.Activity.init(self, handle) File "/usr/lib/python2.7/site-packages/sugar3/activity/activity.py", line 430, in init warn_if_none=False) File "/usr/lib/python2.7/site-packages/sugar3/presence/presenceservice.py", line 88, in get_activity dbus_interface=CONN_INTERFACE_ACTIVITY_PROPERTIES) File "/usr/lib64/python2.7/site-packages/dbus/proxies.py", line 70, in call return self._proxy_method(_args, *_keywords) File "/usr/lib64/python2.7/site-packages/dbus/proxies.py", line 145, in call **keywords) File "/usr/lib64/python2.7/site-packages/dbus/connection.py", line 651, in call_blocking message, timeout) dbus.exceptions.DBusException: org.freedesktop.DBus.Error.UnknownMethod: Method "GetActivity" with signature "s" on interface "org.laptop.Telepathy.ActivityProperties" doesn't exist