Fix regression for GTK2 activities caused by 2f2b2d2
The issue was caused by importing from activityfactory which caused GObject to be imported. This conflicts with GTK2. (Reported by James Cameron) The idea is that we should create the sugar profile's activity root if it doesn't exist yet, when running outside Sugar.
This commit is contained in:
parent
ea3b673f51
commit
c5fa4dfd59
@ -35,11 +35,12 @@ DBusGMainLoop(set_as_default=True)
|
||||
from sugar3.activity import activityhandle
|
||||
from sugar3 import config
|
||||
from sugar3.bundle.activitybundle import ActivityBundle
|
||||
from sugar3.activity.activityfactory import get_environment
|
||||
from sugar3 import logger
|
||||
|
||||
from sugar3.bundle.bundle import MalformedBundleException
|
||||
|
||||
from distutils.dir_util import mkpath
|
||||
|
||||
def create_activity_instance(constructor, handle):
|
||||
activity = constructor(handle)
|
||||
activity.show()
|
||||
@ -124,7 +125,22 @@ def main():
|
||||
activity_class = bundle.get_command().split(" ")[1]
|
||||
|
||||
if 'SUGAR_VERSION' not in os.environ:
|
||||
environ = get_environment(bundle)
|
||||
profile_id = os.environ.get('SUGAR_PROFILE', 'default')
|
||||
home_dir = os.environ.get('SUGAR_HOME', os.path.expanduser('~/.sugar'))
|
||||
base = os.path.join(home_dir, profile_id)
|
||||
activity_root = os.path.join(base, bundle.get_bundle_id())
|
||||
|
||||
instance_dir = os.path.join(activity_root, 'instance')
|
||||
mkpath(instance_dir)
|
||||
|
||||
data_dir = os.path.join(activity_root, 'data')
|
||||
mkpath(data_dir)
|
||||
|
||||
tmp_dir = os.path.join(activity_root, 'tmp')
|
||||
mkpath(tmp_dir)
|
||||
|
||||
os.environ['SUGAR_ACTIVITY_ROOT'] = activity_root
|
||||
os.environ['SUGAR_BUNDLE_PATH'] = bundle.get_path()
|
||||
|
||||
os.environ['SUGAR_BUNDLE_ID'] = bundle.get_bundle_id()
|
||||
os.environ['SUGAR_BUNDLE_NAME'] = bundle.get_name()
|
||||
|
Loading…
Reference in New Issue
Block a user