diff --git a/efl/elementary/general.pyx b/efl/elementary/general.pyx index f449785..3584b7c 100644 --- a/efl/elementary/general.pyx +++ b/efl/elementary/general.pyx @@ -366,20 +366,20 @@ def init(): # FIXME: Why are we passing the cl args to elm_init here? cdef: - int argc, i, arg_len - char **argv + int argc = 0, i, arg_len + char **argv = NULL char *arg - int ret - argc = len(sys.argv) - argv = PyMem_Malloc(argc * sizeof(char *)) - for i in range(argc): - t = sys.argv[i] - if isinstance(t, unicode): t = PyUnicode_AsUTF8String(t) - arg = t - arg_len = len(arg) - argv[i] = PyMem_Malloc(arg_len + 1) - memcpy(argv[i], arg, arg_len + 1) + if hasattr(sys, "argv"): + argc = len(sys.argv) + argv = PyMem_Malloc(argc * sizeof(char *)) + for i in range(argc): + t = sys.argv[i] + if isinstance(t, unicode): t = PyUnicode_AsUTF8String(t) + arg = t + arg_len = len(arg) + argv[i] = PyMem_Malloc(arg_len + 1) + memcpy(argv[i], arg, arg_len + 1) return elm_init(argc, argv)