diff --git a/pykde4-dont-change-environment-cause-crash.patch b/pykde4-dont-change-environment-cause-crash.patch index 6c1d409..2c21eee 100644 --- a/pykde4-dont-change-environment-cause-crash.patch +++ b/pykde4-dont-change-environment-cause-crash.patch @@ -1,12 +1,21 @@ -diff -up pykde4-4.14.3/__init__.py.me pykde4-4.14.3/__init__.py ---- pykde4-4.14.3/__init__.py.me 2018-01-15 15:51:25.275979249 +0100 -+++ pykde4-4.14.3/__init__.py 2018-01-15 15:54:39.370650697 +0100 -@@ -1,4 +1,4 @@ --import sys,DLFCN -+# import sys,DLFCN - # This is needed to ensure that dynamic_cast and RTTI works inside kdelibs. +diff -up pykde4-4.10.5/__init__.py.me pykde4-4.10.5/__init__.py +--- pykde4-4.10.5/__init__.py.me 2018-12-04 13:31:43.545667006 +0100 ++++ pykde4-4.10.5/__init__.py 2018-12-04 13:31:51.116708365 +0100 +@@ -1,4 +1,13 @@ + import sys,DLFCN +-# This is needed to ensure that dynamic_cast and RTTI works inside kdelibs. -sys.setdlopenflags(DLFCN.RTLD_NOW|DLFCN.RTLD_GLOBAL) - -\ No newline at end of file -+# sys.setdlopenflags(DLFCN.RTLD_NOW|DLFCN.RTLD_GLOBAL) +\ Kein Zeilenumbruch am Dateiende. + ++def main(): ++ dlopenflag = sys.getdlopenflags() ++ try: ++ # This is needed to ensure that dynamic_cast and RTTI works inside kdelibs. ++ sys.setdlopenflags(DLFCN.RTLD_NOW|DLFCN.RTLD_GLOBAL) ++ finally: ++ # set to default dlopenflag to avoid problem in other modules ++ sys.setdlopenflags(dlopenflag) ++ ++if __name__=='__main__': ++ main() diff --git a/pykde4.spec b/pykde4.spec index 294f118..39861ea 100644 --- a/pykde4.spec +++ b/pykde4.spec @@ -19,7 +19,7 @@ Name: pykde4 Version: 4.14.3 -Release: 28%{?dist} +Release: 29%{?dist} Summary: Python bindings for KDE4 # http://techbase.kde.org/Policies/Licensing_Policy @@ -354,6 +354,9 @@ rm -fv %{buildroot}%{python3_sitearch}/PyKDE4/nepomuk.so %changelog +* Tue Dec 04 2018 Than Ngo - 4.14.3-29 +- improved patch to fix segfault with other python module + * Tue Oct 09 2018 Than Ngo - 4.14.3-28 - fixed #1546784, python shbang