<pre style='margin:0'>
Marko Käning (mkae) pushed a commit to branch master
in repository macports-ports.

</pre>
<p><a href="https://github.com/macports/macports-ports/commit/d4bfb29413578d369a6b48b4f54610cd1fe93fbe">https://github.com/macports/macports-ports/commit/d4bfb29413578d369a6b48b4f54610cd1fe93fbe</a></p>
<pre style="white-space: pre; background: #F8F8F8">The following commit(s) were added to refs/heads/master by this push:
<span style='display:block; white-space:pre;color:#404040;'>     new d4bfb29  py-pyqt5: fix DBus module build and pyversion conflicts
</span>d4bfb29 is described below

<span style='display:block; white-space:pre;color:#808000;'>commit d4bfb29413578d369a6b48b4f54610cd1fe93fbe
</span>Author: Marko Käning <mk@macports.org>
AuthorDate: Sat Dec 17 00:52:03 2016 +0100

<span style='display:block; white-space:pre;color:#404040;'>    py-pyqt5: fix DBus module build and pyversion conflicts
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    - also support multiple Qt5 ports
</span><span style='display:block; white-space:pre;color:#404040;'>    - remove invalid keyword 'Id'
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    Closes: https://trac.macports.org/ticket/51620
</span>---
 python/py-pyqt5/Portfile                           | 161 +++++++++++++--------
 .../files/patch-no-abort-on-python-errors.diff     |  41 ++++++
 2 files changed, 145 insertions(+), 57 deletions(-)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/python/py-pyqt5/Portfile b/python/py-pyqt5/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index e8c432a..eca8749 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/python/py-pyqt5/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/python/py-pyqt5/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,80 +1,128 @@
</span> # -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:ft=tcl:et:sw=4:ts=4:sts=4
<span style='display:block; white-space:pre;background:#ffe0e0;'>-# $Id$
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-PortSystem          1.0
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-PortGroup           qt5 1.0
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-PortGroup           python 1.0
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-name                py-pyqt5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-version             5.6
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-revision            2
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-categories-append   devel
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-platforms           darwin
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-maintainers         mmoll openmaintainer
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-description         PyQt5 is a set of Python bindings for the Qt5 toolkit
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-long_description \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    PyQt5 is a set of Python bindings for the Qt5 toolkit. The bindings \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    are implemented as a set of Python modules and contain over 620 classes.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-homepage            http://www.riverbankcomputing.co.uk/software/pyqt/intro
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-license             GPL-3
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-master_sites        sourceforge:pyqt
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-distname            PyQt5_gpl-${version}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-checksums           rmd160  498905b678fc2641c8ff6521b5c2126ac6ddf347 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    sha256  2e481a6c4c41b96ed3b33449e5f9599987c63a5c8db93313bd57a6acbf20f0e1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+PortSystem              1.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+PortGroup               qt5 1.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+set depends_lib_backup  ${depends_lib}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+PortGroup               python 1.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+name                    py-pyqt5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+version                 5.6
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+revision                3
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+categories-append       devel
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+platforms               darwin
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+maintainers             mmoll openmaintainer
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+description             PyQt5 is a set of Python bindings for the Qt5 toolkit
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+long_description        ${description}. The bindings \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        are implemented as a set of Python modules and contain over 620 classes.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+homepage                http://www.riverbankcomputing.co.uk/software/pyqt/intro
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+license                 GPL-3
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+master_sites            sourceforge:pyqt
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+distname                PyQt5_gpl-${version}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+checksums               rmd160  498905b678fc2641c8ff6521b5c2126ac6ddf347 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        sha256  2e481a6c4c41b96ed3b33449e5f9599987c63a5c8db93313bd57a6acbf20f0e1
</span> 
 python.versions 27 34 35
 
<span style='display:block; white-space:pre;background:#e0ffe0;'>+# at this point, the python portgroup will have reset depends_lib (python.versions does that),
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+depends_lib-append      ${depends_lib_backup}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {[info procs qt5.depends_component] eq ""} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    proc qt5.depends_component {first args} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        global qt5_component_lib qt5.using_kde os.major
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        # join ${first} and (the optional) ${args}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        set args [linsert $args[set list {}] 0 ${first}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        if {[info exists qt5.using_kde] && ${qt5.using_kde}} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            set qt5main "qt5-kde"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        } if {${os.major} == 11} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            set qt5main "qt55"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        } else {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            set qt5main "qt5"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        foreach comp ${args} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            if {${comp} eq "qt5"} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                if {[info exists qt5.using_kde] && ${qt5.using_kde}} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    global qt5_dependency
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    depends_lib-append ${qt5_dependency}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                } else {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    depends_lib-append port:${qt5main}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            } else {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                set portname "${qt5main}-${comp}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                depends_lib-append port:${portname}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> if {${name} ne ${subport}} {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    depends_lib-append port:py${python.version}-sip \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        port:qt5                                    \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        port:dbus-python${python.version}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    use_configure      yes
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    configure.pre_args
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    configure.cmd      "${python.bin} configure.py"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    configure.args-append  -q ${qt_qmake_cmd} --verbose --confirm-license \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        --sip=${prefix}/bin/sip-${python.branch}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    depends_lib-append  port:py${python.version}-sip \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        port:dbus-python${python.version}
</span> 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    # modules that are not installed with qt5 port
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    use_configure       yes
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    configure.pre_args
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    configure.cmd       "${python.bin} configure.py"
</span>     configure.args-append \
<span style='display:block; white-space:pre;background:#ffe0e0;'>-        --disable=QtWebKit \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        --disable=QtWebKitWidgets \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        --disable=QtWebEngineCore \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        --disable=QtWebEngineWidgets
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        -q ${qt_qmake_cmd} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        --verbose \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        --confirm-license \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        --sip=${prefix}/bin/sip-${python.branch} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        --dbus=${python.include}/dbus-1.0 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        --designer-plugindir=${qt_plugins_dir}/designer/Py${python.version}Qt5 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        --qml-plugindir=${qt_plugins_dir}/Py${python.version}Qt5 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        --disable=QtWebKit \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        --disable=QtWebKitWidgets \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        --disable=QtWebEngineCore \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        --disable=QtWebEngineWidgets
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    post-configure {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        # using --dbus means the compiler will find dbus-python.h but not
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        # the DBus headers themselves. Correct dbus.pro :
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        set dbus1incpath [strsed [exec pkg-config --cflags-only-I dbus-1] "g/-I//"]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        reinplace "s|INCLUDEPATH += .$|INCLUDEPATH += . ${dbus1incpath}|g" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        ${worksrcpath}/dbus/dbus.pro
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        system -W ${worksrcpath}/dbus "${qt_qmake_cmd} dbus.pro"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    }
</span> 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    build.cmd          make
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    build.target       all
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    destroot.cmd       ${build.cmd}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    destroot.destdir   DESTDIR=${destroot}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    build.cmd           make
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    build.target        all
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    destroot.cmd        ${build.cmd}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    destroot.destdir    DESTDIR=${destroot}
</span> 
     # override QMAKE_MACOSX_DEPLOYMENT_TARGET set in ${prefix}/libexec/qt5/mkspecs/macx-clang/qmake.conf
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    configure.args-append QMAKE_MACOSX_DEPLOYMENT_TARGET=${macosx_deployment_target}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    configure.args-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        QMAKE_MACOSX_DEPLOYMENT_TARGET=${macosx_deployment_target}
</span> 
     # override C++ flags set in ${prefix}/libexec/qt5/mkspecs/common/clang-mac.conf
     #    so value of ${configure.cxx_stdlib} can always be used
     configure.args-append \
<span style='display:block; white-space:pre;background:#ffe0e0;'>-        QMAKE_CXXFLAGS-=-stdlib=libc++ \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        QMAKE_LFLAGS-=-stdlib=libc++ \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        QMAKE_CXXFLAGS+=-stdlib=${configure.cxx_stdlib} \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        QMAKE_LFLAGS+=-stdlib=${configure.cxx_stdlib}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        QMAKE_CXXFLAGS-=-stdlib=libc++ \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        QMAKE_LFLAGS-=-stdlib=libc++ \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        QMAKE_CXXFLAGS+=-stdlib=${configure.cxx_stdlib} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        QMAKE_LFLAGS+=-stdlib=${configure.cxx_stdlib}
</span> 
     variant debug description "Build debug libraries" {
         configure.cmd-append --debug
     }
 
     variant webengine conflicts universal description {Build QtWebEngine module} {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-        depends_lib-append port:qt5-qtwebengine
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        configure.args-delete --disable=QtWebEngineCore
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        configure.args-delete --disable=QtWebEngineWidgets
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        qt5.depends_component qtwebengine
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        configure.args-delete --disable=QtWebEngineCore \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                              --disable=QtWebEngineWidgets
</span>     }
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    default_variants-append +webengine
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# probably not justified yet, given QtWebEngine's size
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#     default_variants-append +webengine
</span> 
     variant webkit description {Build QtWebKit module} {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-        depends_lib-append port:qt5-qtwebkit
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        qt5.depends_component qtwebkit
</span>         configure.args-delete --disable=QtWebKit
<span style='display:block; white-space:pre;background:#ffe0e0;'>-        configure.args-delete --disable=QtWebKitWidgets
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                              --disable=QtWebKitWidgets
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    variant graceful description {Don't abort (crash) on Python errors} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        patchfiles-append  patch-no-abort-on-python-errors.diff
</span>     }
 
     if { ![variant_isset universal] } {
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -85,9 +133,8 @@ if {${name} ne ${subport}} {
</span>         set merger_configure_args(x86_64) "--spec=${qt_qmake_spec_64}"
     }
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    livecheck.type     none
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-} else {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    livecheck.type     regex
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    livecheck.url      https://www.riverbankcomputing.co.uk/software/pyqt/download5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    livecheck.regex    >PyQt5_gpl-(\[0-9.\]*).tar.gz<
</span> }
<span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+livecheck.type     regex
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+livecheck.url      http://www.riverbankcomputing.co.uk/software/pyqt/download5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+livecheck.regex    >PyQt5_gpl-(\[0-9.\]*).tar.gz<
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/python/py-pyqt5/files/patch-no-abort-on-python-errors.diff b/python/py-pyqt5/files/patch-no-abort-on-python-errors.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 0000000..f481d8e
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/python/py-pyqt5/files/patch-no-abort-on-python-errors.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,41 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- qpy/QtCore/orig.qpycore_public_api.cpp 2016-04-24 12:55:17.000000000 +0200
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ qpy/QtCore/qpycore_public_api.cpp      2016-06-15 21:44:57.000000000 +0200
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -29,7 +29,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include "qpycore_types.h"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-// A replacement for PyErr_Print() that passes the exception to qFatal().
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++// A replacement for PyErr_Print() that passes the exception to qCritical().
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ void pyqt5_err_print()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #if PY_MAJOR_VERSION >= 3
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -113,7 +113,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         PyErr_Restore(exception, value, traceback);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         PyErr_Print();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        // This will be passed to qFatal() if we can't get the detailed text.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        // This will be passed to qCritical() if we can't get the detailed text.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         QByteArray message("Unhandled Python exception");
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         // Extract the detailed text if it was redirected.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -128,7 +128,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+             if (text)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+             {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-                // Strip the text as qFatal() likes to add a newline.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                // Strip the text as qCritical() likes to add a newline.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                 PyObject *stripped = PyObject_CallMethod(text,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                         CONST_CAST("strip"), NULL);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -186,9 +186,9 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+             Py_DECREF(new_stderr);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        // qFatal() may not call abort.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        // qCritical() will not call abort.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         Py_BEGIN_ALLOW_THREADS
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        qFatal("%s", message.data());
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        qCritical("%s", message.data());
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         Py_END_ALLOW_THREADS
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span></pre><pre style='margin:0'>

</pre>