<pre style='margin:0'>
Vincent (Veence) pushed a commit to branch master
in repository macports-ports.

</pre>
<p><a href="https://github.com/macports/macports-ports/commit/8ce1c856243f23ed5cff4376a61b3c4af274891b">https://github.com/macports/macports-ports/commit/8ce1c856243f23ed5cff4376a61b3c4af274891b</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 8ce1c85  qgis3: enable server, further enhancements to Portfile, remove obsolete patches, bump to current commit
</span>8ce1c85 is described below

<span style='display:block; white-space:pre;color:#808000;'>commit 8ce1c856243f23ed5cff4376a61b3c4af274891b
</span>Author: Veence <vince@macports.org>
AuthorDate: Thu Dec 7 16:44:51 2017 +0100

<span style='display:block; white-space:pre;color:#404040;'>    qgis3: enable server, further enhancements to Portfile, remove obsolete patches, bump to current commit
</span>---
 gis/qgis3/Portfile                                 |  25 ++-
 gis/qgis3/files/patch-FindPyQt5_py.diff            |   2 +-
 gis/qgis3/files/patch-PyQtMacros.diff              |  15 --
 gis/qgis3/files/patch-app_info_plist_in.diff       |   8 +-
 .../files/patch-python_core_conversions_sip.diff   | 182 ---------------------
 5 files changed, 21 insertions(+), 211 deletions(-)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/gis/qgis3/Portfile b/gis/qgis3/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 3a63792..d468888 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/gis/qgis3/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/gis/qgis3/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -6,9 +6,9 @@ PortGroup           github  1.0
</span> PortGroup           qt5     1.0
 
 name                qgis3
<span style='display:block; white-space:pre;background:#ffe0e0;'>-set commit          1c1de3a
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+set commit          1305ccc
</span> github.setup        qgis QGIS ${commit}
<span style='display:block; white-space:pre;background:#ffe0e0;'>-version             2.99.20171201
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+version             2.99.20171207
</span> categories          gis
 maintainers         vince
 description         QGIS 3 is a user-friendly GIS based on Qt 5
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -27,8 +27,8 @@ patchfiles          patch-app_info_plist_in.diff \
</span>                     patch-CMakelists_txt.diff \
                     patch-FindPyQt5_py.diff
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-checksums           rmd160  a3d9d07479c61da4ce96e6e645eaf9a23c294c65 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    sha256  61d69356a7c53b201d733c1eb6e366c13f181bc022a7429fc17e38418e07bec0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+checksums           rmd160  518b9917bfdea265d4923935fe388f43f75d4423 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    sha256  1b7ec7fec301fcfd7759c927b3008741b1caf50d104f6c5962b80e03c4dd192e
</span> 
 worksrcdir          QGIS-${commit}
 
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -66,12 +66,16 @@ post-extract {
</span> }
 
 post-patch {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    reinplace -E "s|@@@|${prefix}|g" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    reinplace -E "s|@PREFIX@|${prefix}|g" \
</span>         ${worksrcpath}/mac/app.info.plist.in
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    reinplace -E "s|@@@|${frameworks_dir}|g" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    reinplace -E "s|@FRAMEWORKS_DIR@|${frameworks_dir}|g" \
</span>         ${worksrcpath}/cmake/FindPyQt5.py
 
<span style='display:block; white-space:pre;background:#e0ffe0;'>+    # Handle QGIS Fix #11399 which doesn’t seem to work anymore
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    reinplace -E "s|#ifdef Q_OS_MAC|#if 0|" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        ${worksrcpath}/src/app/layout/qgslayoutdesignerdialog.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span>     # Handle legacy OS/XCode
     if {[vercmp $xcodeversion 4.6.3] <= 0} {
         configure.compiler  llvm-gcc-4.2
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -99,7 +103,7 @@ configure.args-append   "-DWITH_QWTPOLAR=ON"
</span> configure.args-append   "-DQT_LRELEASE_EXECUTABLE=${prefix}/libexec/qt5/bin/lrelease"
 
 # Server does not build so far
<span style='display:block; white-space:pre;background:#ffe0e0;'>-configure.args-append   "-DWITH_SERVER=FALSE"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+configure.args-append   "-DWITH_SERVER=YES"
</span> 
     
 # Database variants (from the GDAL port)
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -165,8 +169,11 @@ foreach pyver ${python_suffixes} {
</span>             configure.args-append   -DWITH_BINDINGS=ON
             configure.args-append   -DPYUIC_PROGRAM=${prefix}/bin/pyuic5-${pyversion}
             configure.args-append   -DPYRCC_PROGRAM=${prefix}/bin/pyrcc5-${pyversion}
<span style='display:block; white-space:pre;background:#ffe0e0;'>-            configure.args-append   -DPYQT5_SIP_DIR=\
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                ${frameworks_dir}/Python.framework/Versions/${pyversion}/share/sip/PyQt5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            post-patch {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                reinplace -E \"s|@PYVERSION@|${pyversion}|\" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    ${worksrcpath}/cmake/FindPyQt5.py
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            }
</span>         "
 }
 
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/gis/qgis3/files/patch-FindPyQt5_py.diff b/gis/qgis3/files/patch-FindPyQt5_py.diff
</span><span style='display:block; white-space:pre;color:#808080;'>index 6c764d4..feb778b 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/gis/qgis3/files/patch-FindPyQt5_py.diff
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/gis/qgis3/files/patch-FindPyQt5_py.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -5,7 +5,7 @@
</span>      import os.path
      cfg = sipconfig.Configuration()
 -    sip_dir = cfg.default_sip_dir
<span style='display:block; white-space:pre;background:#ffe0e0;'>-+    sip_dir = "@@@/Python.framework/Versions/3.6/share/sip"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    sip_dir = "@FRAMEWORKS_DIR@/Python.framework/Versions/@PYVERSION@/share/sip"
</span>      for p in (os.path.join(sip_dir, "PyQt5"), sip_dir):
          if os.path.exists(os.path.join(p, "QtCore", "QtCoremod.sip")):
              sip_dir = p
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/gis/qgis3/files/patch-PyQtMacros.diff b/gis/qgis3/files/patch-PyQtMacros.diff
</span>deleted file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index c4d720a..0000000
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/gis/qgis3/files/patch-PyQtMacros.diff
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,15 +0,0 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- cmake/PyQtMacros.cmake.old     2016-03-09 10:31:17.000000000 +0100
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ cmake/PyQtMacros.cmake 2016-03-09 10:31:53.000000000 +0100
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -9,9 +9,9 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   SET(PYUIC_PROG_NAMES pyuic5)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   SET(PYRCC_PROG_NAME pyrcc5)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ELSE(ENABLE_QT5)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--  SET(PYUIC_PROG_NAME pyuic4)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--  SET(PYUIC_PROG_NAMES python2-pyuic4 pyuic4)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--  SET(PYRCC_PROG_NAME pyrcc4)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  SET(PYUIC_PROG_NAME pyuic4-2.7)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  SET(PYUIC_PROG_NAMES python2-pyuic4 pyuic4-2.7)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  SET(PYRCC_PROG_NAME pyrcc4-2.7)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ENDIF(ENABLE_QT5)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- IF(NOT PYUIC_PROGRAM)
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/gis/qgis3/files/patch-app_info_plist_in.diff b/gis/qgis3/files/patch-app_info_plist_in.diff
</span><span style='display:block; white-space:pre;color:#808080;'>index 4a9be79..94b591b 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/gis/qgis3/files/patch-app_info_plist_in.diff
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/gis/qgis3/files/patch-app_info_plist_in.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -7,17 +7,17 @@
</span> +    <key>LSEnvironment</key>
 +    <dict>
 +        <key>PATH</key>
<span style='display:block; white-space:pre;background:#ffe0e0;'>-+        <string>/bin:/usr/bin:/usr/sbin:@@@/bin:@@@/sbin</string>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        <string>/bin:/usr/bin:/usr/sbin:@PREFIX@/bin:@PREFIX@/sbin</string>
</span> +        <key>GRASS_SH</key>
 +        <string>/bin/sh</string>
 +        <key>GRASS_PROJSHARE</key>
<span style='display:block; white-space:pre;background:#ffe0e0;'>-+        <string>@@@/lib/proj47/share/proj</string>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        <string>@PREFIX@/share/proj</string>
</span> +        <key>GRASS_VERSION</key>
 +        <string>7.2.2</string>
 +        <key>GRASS_LD_LIBRARY_PATH</key>
<span style='display:block; white-space:pre;background:#ffe0e0;'>-+        <string>@@@/share/grass-7.2.2/lib</string>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        <string>@PREFIX@/share/grass-7.2.2/lib</string>
</span> +        <key>GRASS_PERL</key>
<span style='display:block; white-space:pre;background:#ffe0e0;'>-+        <string>@@@/bin/perl</string>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        <string>@PREFIX@/bin/perl</string>
</span> +    </dict>
        <key>CFBundleDocumentTypes</key>
        <array>
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/gis/qgis3/files/patch-python_core_conversions_sip.diff b/gis/qgis3/files/patch-python_core_conversions_sip.diff
</span>deleted file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 9a26e8e..0000000
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/gis/qgis3/files/patch-python_core_conversions_sip.diff
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,182 +0,0 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- python/core/conversions.sip
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ python/core/conversions.sip
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -2041,3 +2041,178 @@ register_from_qvariant_convertor = (void (*)(FromQVariantConvertorFn))sipImportS
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- register_from_qvariant_convertor(null_from_qvariant_convertor);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- %End
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- %End
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+// QList<QVariant> is implemented as a Python list.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+%MappedType QList<QVariant> /TypeHintIn="Sequence[QVariant]", TypeHintOut="List[QVariant]", TypeHintValue="[]"/
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+{
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+%TypeHeaderCode
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#include <qlist.h>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+%End
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+%ConvertFromTypeCode
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    // Create the list.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    PyObject *l;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    if ((l = PyList_New(sipCpp->size())) == NULL)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+        return NULL;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    // Set the list elements.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    for (int i = 0; i < sipCpp->size(); ++i)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+        QVariant *t = new QVariant(sipCpp->at(i));
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+        PyObject *tobj;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+        if ((tobj = sipConvertFromNewType(t, sipType_QVariant, sipTransferObj)) == NULL)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+        {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+            Py_DECREF(l);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+            delete t;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+            return NULL;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+        }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+        PyList_SET_ITEM(l, i, tobj);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    return l;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+%End
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+%ConvertToTypeCode
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    SIP_SSIZE_T len;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    // Check the type if that is all that is required.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    if (sipIsErr == NULL)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+        if (!PySequence_Check(sipPy) || (len = PySequence_Size(sipPy)) < 0)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+            return 0;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+        for (SIP_SSIZE_T i = 0; i < len; ++i)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+        {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+            PyObject *itm = PySequence_ITEM(sipPy, i);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+            bool ok = (itm && sipCanConvertToType(itm, sipType_QVariant, SIP_NOT_NONE));
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+            Py_XDECREF(itm);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+            if (!ok)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+                return 0;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+        }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+        return 1;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    QList<QVariant> *ql = new QList<QVariant>;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    len = PySequence_Size(sipPy);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    for (SIP_SSIZE_T i = 0; i < len; ++i)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+        PyObject *itm = PySequence_ITEM(sipPy, i);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+        int state;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+        QVariant *t = reinterpret_cast<QVariant *>(sipConvertToType(itm, sipType_QVariant, sipTransferObj, SIP_NOT_NONE, &state, sipIsErr));
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+        Py_DECREF(itm);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+        if (*sipIsErr)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+        {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+            sipReleaseType(t, sipType_QVariant, state);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+            delete ql;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+            return 0;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+        }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+        ql->append(*t);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+        sipReleaseType(t, sipType_QVariant, state);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    *sipCppPtr = ql;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    return sipGetState(sipTransferObj);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+%End
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+};
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+// QList<QPolygonF> is implemented as a Python list.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+%MappedType QList<QPolygonF> /TypeHintIn="Sequence[QPolygonF]", TypeHintOut="List[QPolygonF]", TypeHintValue="[]"/
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+{
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+%TypeHeaderCode
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#include <qlist.h>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+%End
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+%ConvertFromTypeCode
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    // Create the list.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    PyObject *l;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    if ((l = PyList_New(sipCpp->size())) == NULL)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+        return NULL;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    // Set the list elements.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    for (int i = 0; i < sipCpp->size(); ++i)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+        QPolygonF *t = new QPolygonF(sipCpp->at(i));
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+        PyObject *tobj;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+        if ((tobj = sipConvertFromNewType(t, sipType_QPolygonF, sipTransferObj)) == NULL)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+        {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+            Py_DECREF(l);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+            delete t;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+            return NULL;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+        }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+        PyList_SET_ITEM(l, i, tobj);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    return l;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+%End
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+%ConvertToTypeCode
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    SIP_SSIZE_T len;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    // Check the type if that is all that is required.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    if (sipIsErr == NULL)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+        if (!PySequence_Check(sipPy) || (len = PySequence_Size(sipPy)) < 0)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+            return 0;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+        for (SIP_SSIZE_T i = 0; i < len; ++i)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+        {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+            PyObject *itm = PySequence_ITEM(sipPy, i);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+            bool ok = (itm && sipCanConvertToType(itm, sipType_QPolygonF, SIP_NOT_NONE));
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+            Py_XDECREF(itm);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+            if (!ok)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+                return 0;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+        }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+        return 1;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    QList<QPolygonF> *ql = new QList<QPolygonF>;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    len = PySequence_Size(sipPy);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    for (SIP_SSIZE_T i = 0; i < len; ++i)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+        PyObject *itm = PySequence_ITEM(sipPy, i);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+        int state;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+        QPolygonF *t = reinterpret_cast<QPolygonF *>(sipConvertToType(itm, sipType_QPolygonF, sipTransferObj, SIP_NOT_NONE, &state, sipIsErr));
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+        Py_DECREF(itm);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+        if (*sipIsErr)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+        {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+            sipReleaseType(t, sipType_QPolygonF, state);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+            delete ql;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+            return 0;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+        }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+        ql->append(*t);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+        sipReleaseType(t, sipType_QPolygonF, state);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    *sipCppPtr = ql;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    return sipGetState(sipTransferObj);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+%End
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+};
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span></pre><pre style='margin:0'>

</pre>