diff options
author | infirit <[email protected]> | 2014-01-08 15:17:46 +0100 |
---|---|---|
committer | infirit <[email protected]> | 2014-01-08 15:17:46 +0100 |
commit | 4c3aaf3ad0023204c8e09d02de150ca2a29e9e59 (patch) | |
tree | bb98c646ecfb4074ff789b2c265e3fbec405fffb | |
parent | b0dcf318701e517340aa7a491af8a8384df474a4 (diff) | |
download | python-caja-4c3aaf3ad0023204c8e09d02de150ca2a29e9e59.tar.bz2 python-caja-4c3aaf3ad0023204c8e09d02de150ca2a29e9e59.tar.xz |
Revert "Do not dlopen libpython"
This reverts commit d63756bd11b097f11f115d5477110893b7ee16a2.
Causes problems like the following issue on github:
https://github.com/mate-desktop/python-caja/issues/5
-rw-r--r-- | src/Makefile.am | 4 | ||||
-rw-r--r-- | src/caja-python.c | 6 |
2 files changed, 9 insertions, 1 deletions
diff --git a/src/Makefile.am b/src/Makefile.am index f03fe1a..7ccb7c5 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -6,6 +6,8 @@ AM_CPPFLAGS = \ -I$(top_builddir) \ $(DISABLE_DEPRECATED_CFLAGS) \ $(CAJA_PYTHON_CFLAGS) \ + -DPYTHON_VERSION=\"$(PYTHON_VERSION)\" \ + -DPY_LIB_LOC="\"$(PYTHON_LIB_LOC)\"" \ $(PYTHON_INCLUDES) caja_extensiondir=$(CAJA_EXTENSION_DIR) @@ -18,5 +20,5 @@ libcaja_python_la_SOURCES = \ caja-python-object.c \ caja-python-object.h -libcaja_python_la_LDFLAGS = -module -avoid-version -no-undefined +libcaja_python_la_LDFLAGS = -module -avoid-version libcaja_python_la_LIBADD = $(CAJA_PYTHON_LIBS) $(PYTHON_LIBS) diff --git a/src/caja-python.c b/src/caja-python.c index 21e7f42..a6a7478 100644 --- a/src/caja-python.c +++ b/src/caja-python.c @@ -155,11 +155,17 @@ static gboolean caja_python_init_python (void) { PyObject *caja; + GModule *libpython; char *argv[] = { "caja", NULL }; if (Py_IsInitialized()) return TRUE; + debug("g_module_open " PY_LIB_LOC "/libpython" PYTHON_VERSION "." G_MODULE_SUFFIX ".1.0"); + libpython = g_module_open(PY_LIB_LOC "/libpython" PYTHON_VERSION "." G_MODULE_SUFFIX ".1.0", 0); + if (!libpython) + g_warning("g_module_open libpython failed: %s", g_module_error()); + debug("Py_Initialize"); Py_Initialize(); if (PyErr_Occurred()) |