Age | Commit message (Collapse) | Author |
|
(cherry picked from commit 742dca7366ba6ac3c58b1df6ee548788f4ce24e7)
Signed-off-by: Miklos Vajna <vmiklos@suse.cz>
|
|
Thanks to Maxime de Roucy for the hint that the "cmpfunc" type doesn't exist.
(cherry picked from commit 06484b6946ac6a974c24af6624fb75bbe298c1e8)
Signed-off-by: Caolán McNamara <caolanm@redhat.com>
|
|
(regression from a09ce46818fd4d5e08b3af9a478501cd8ef5b4fe)
(cherry picked from commit 4634cbc237239da771e0f6a81f78171ecec726ba)
Signed-off-by: Caolán McNamara <caolanm@redhat.com>
|
|
This requires setting a rich comparison flag in Python 2, while Python 3
uses rich comparison by default.
(regression from a09ce46818fd4d5e08b3af9a478501cd8ef5b4fe)
(cherry picked from commit 387389b644b91808fdee74846b2d855382f48ed7)
Signed-off-by: Caolán McNamara <caolanm@redhat.com>
|
|
Apparently the thread spawned in decreaseRefCount runs and deletes
itself before the "m_hThread != 0" from osl::Thread::create is executed;
try a lame workaround for that.
==1877== Invalid read of size 8
==1877== at 0x2A70E546: osl::Thread::create() (in pyuno/unxlngx6/lib/libpyuno.so)
==1877== by 0x2A70E351: pyuno::decreaseRefCount(_is*, _object*) (in pyuno/unxlngx6/lib/libpyuno.so)
==1877== by 0x2A7092B4: pyuno::Adapter::~Adapter() (in pyuno/unxlngx6/lib/libpyuno.so)
==1877== by 0x2A709393: pyuno::Adapter::~Adapter() (in pyuno/unxlngx6/lib/libpyuno.so)
==1877== by 0x5EF2F64: cppu::OWeakObject::release() (weak.cxx:213)
==1877== by 0x2A70DE69:
==1877== Address 0x1ee30818 is 8 bytes inside a block of size 32 free'd
==1877== at 0x4A0662E: free (vg_replace_malloc.c:366)
==1877== by 0x4C44B62: rtl_freeMemory_SYSTEM(void*) (alloc_global.cxx:285)
==1877== by 0x4C44DC7: rtl_freeMemory (alloc_global.cxx:355)
==1877== by 0x2A70E41E: osl::Thread::operator delete(void*) (in pyuno/unxlngx6/lib/libpyuno.so)
==1877== by 0x2A70E6EF: pyuno::GCThread::~GCThread() (in pyuno/unxlngx6/lib/libpyuno.so)
==1877== by 0x2A70E303: pyuno::GCThread::onTerminated() (in pyuno/unxlngx6/lib/libpyuno.so)
==1877== by 0x2A70E671: threadFunc (in pyuno/unxlngx6/lib/libpyuno.so)
==1877== by 0x4C2E242: osl_thread_start_Impl (thread.c:292)
==1877== by 0x3C26607D8F: start_thread (pthread_create.c:309)
==1877== by 0x3C262EF48C: clone (clone.S:115)
Signed-off-by: a very sceptical Michael Meeks <michael.meeks@suse.com>
|
|
...it was cleaned away by a09ce46818fd4d5e08b3af9a478501cd8ef5b4fe "Port PyUno
to support Python 3" but is still needed to make sure libpyuno.so is loaded
RTLD_GLOBAL (Python apparently loads its modules RTLD_LOCAL). At least with
pre 4.5 GCC this can cause problems with C++ exception handling, see the mail
thread starting at
<http://lists.freedesktop.org/archives/libreoffice/2012-February/025166.html>
"LibO 3.5RC2: terminate called after throwing an instance of
'com::sun::star::registry::InvalidRegistryException'" for details.
(cherry picked from commit 0b1be1ce0e0ac7b34c4b73d53f4bf32ec5df7290)
...plus...
Adapt pyuno.so wrapper to Python 3 support
(cherry picked from commit 1bb0d979b5ac5ed0cd831c6c8c0ab55dc2621eba)
Signed-off-by: Michael Meeks <michael.meeks@suse.com>
|
|
|
|
Signed-off-by: Caolán McNamara <caolanm@redhat.com>
|
|
(cherry picked from commit fb37327df4153a31d7ba28e2bc3f742f4efc9f34)
Signed-off-by: Caolán McNamara <caolanm@redhat.com>
|
|
|
|
Also improve exception handling and error printing in pythonloader
Allow registration of explicit .py components - the only method that works
|
|
|
|
This commit for the old build system. (Don't bother for components not
relevant for Android.)
The Android package installer (as invoked through "adb install", from
"ant debug install") silently ignores native libraries in app packages
(.apk files) whose names don't start with "lib" and end with ".so".
The package builder (as invoked through "ant debug") in the SDK gladly
includes also thusly named native libraries in the .apk, though. Yay
for consistency.
|
|
|
|
|
|
BaseInstallation.
|
|
The Windows-only code in pyuno/zipcore/python.cxx may still need fixing.
|
|
|
|
This reverts commit 2dea0dab4fafda3c10a5bd03ad15ed39a4658b51.
|
|
|
|
Whether things actually work when pyuno is built against the debugging
runtime, but the internal Python (to the best of my knowledge) still
against the normal one, I don't know. But anyway, this makes the build
succeed here.
|
|
|
|
|
|
|
|
|
|
|
|
The python C API has consts at these places
|
|
|
|
This allows having a meaningful error message when extractUnoException
is called from pyuno_loader::getLoaderModule() (via
raiseRuntimeExceptionWhenNeeded()). If it is called to treat an error
that cropped up in loading uno.py, the old code would abort the whole
operation by throwing an exception because... it gets essentially the
same error. The new code leads to a sensible message on the Python
debug console.
|
|
This avoids breaking the whole python process module importing
when an uno.py import failure happens after the hooking point.
In that case, _uno_import is still the python module loader,
but _g_delegatee is not anymore bound to the previously installed
importer, and thus any module import fails with:
File "/home/master/src/libreoffice/core/install/basis3.5/program/uno.py", line 260, in _uno_import
return _g_delegatee( name, *optargs, **kwargs )
TypeError: 'NoneType' object is not callable
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
and remove *.orig and *.rej files that were committed by accident
|
|
|
|
|
|
VclStringResourceLoader eg.
test = smgr.createInstance("com.sun.star.resource.VclStringResourceLoader")
invocation = test.setValue("FileName", "test")
It seems we can't cope with XInvocation implementors, so give a nice
exception instead
|
|
|
|
No need to mention $(LB)$/$(TARGET)$(DLLPOST) in the ALLTAR
prerequisite list. It causes errors, and is unnecessary, as pyuno.pyd
gets built anyway thanks to being the TARGET in this makefile.
No need to do the symlink if DLLPRE is empty. In that case
$(LB)$/$(TARGET)$(DLLPOST) equals $(LB)$/$(DLLPRE)$(TARGET)$(DLLPOST)
so dmake will complain about a circular dependency.
|
|
|
|
|
|
Mac OS X is still being compiled vs 2.3
|
|
|
|
|