[Python-modules-commits] r25835 - in packages/pyside/trunk/debian/patches (4 files)
odyx at users.alioth.debian.org
odyx at users.alioth.debian.org
Wed Sep 11 19:17:17 UTC 2013
Date: Wednesday, September 11, 2013 @ 19:17:12
Author: odyx
Revision: 25835
Drop upstream-imported patches
Modified:
packages/pyside/trunk/debian/patches/series
Deleted:
packages/pyside/trunk/debian/patches/1.1.2-1-Fix-reference-leak-on-convertion-from-a-C-map-type-t.patch
packages/pyside/trunk/debian/patches/1.1.2-2-Invalidate-metaObject-wrapper-before-deletion.patch
packages/pyside/trunk/debian/patches/1.1.2-3-Use-QObject-property-to-invalidate-wrapper-before-de.patch
Deleted: packages/pyside/trunk/debian/patches/1.1.2-1-Fix-reference-leak-on-convertion-from-a-C-map-type-t.patch
===================================================================
--- packages/pyside/trunk/debian/patches/1.1.2-1-Fix-reference-leak-on-convertion-from-a-C-map-type-t.patch 2013-09-11 19:16:48 UTC (rev 25834)
+++ packages/pyside/trunk/debian/patches/1.1.2-1-Fix-reference-leak-on-convertion-from-a-C-map-type-t.patch 2013-09-11 19:17:12 UTC (rev 25835)
@@ -1,35 +0,0 @@
-From 6df4b307c5aec758ad954ab8717f5e85b44e2ae5 Mon Sep 17 00:00:00 2001
-From: Hugo Parente Lima <hugo.pl at gmail.com>
-Date: Tue, 11 Sep 2012 10:32:04 -0300
-Subject: [PATCH 1/9] Fix reference leak on convertion from a C++ map type to Python dict.
-
-Patch by Dennis Victorovich.
-
-Change-Id: I050da20f6c0bef2f568aefcc81a9a159a412be24
-Reviewed-by: Hugo Parente Lima <hugo.lima at openbossa.org>
----
- PySide/QtCore/typesystem_core_common.xml | 8 +++++---
- 1 files changed, 5 insertions(+), 3 deletions(-)
-
-diff --git a/PySide/QtCore/typesystem_core_common.xml b/PySide/QtCore/typesystem_core_common.xml
-index d7d0dd9..8888658 100644
---- a/PySide/QtCore/typesystem_core_common.xml
-+++ b/PySide/QtCore/typesystem_core_common.xml
-@@ -658,9 +658,11 @@
- for (; it != %in.end(); ++it) {
- %INTYPE_0 key = it.key();
- %INTYPE_1 value = it.value();
-- PyDict_SetItem(%out,
-- %CONVERTTOPYTHON[%INTYPE_0](key),
-- %CONVERTTOPYTHON[%INTYPE_1](value));
-+ PyObject* pyKey = %CONVERTTOPYTHON[%INTYPE_0](key);
-+ PyObject* pyValue = %CONVERTTOPYTHON[%INTYPE_1](value);
-+ PyDict_SetItem(%out, pyKey, pyValue);
-+ Py_DECREF(pyKey);
-+ Py_DECREF(pyValue);
- }
- return %out;
- </template>
---
-1.7.2.5
-
Deleted: packages/pyside/trunk/debian/patches/1.1.2-2-Invalidate-metaObject-wrapper-before-deletion.patch
===================================================================
--- packages/pyside/trunk/debian/patches/1.1.2-2-Invalidate-metaObject-wrapper-before-deletion.patch 2013-09-11 19:16:48 UTC (rev 25834)
+++ packages/pyside/trunk/debian/patches/1.1.2-2-Invalidate-metaObject-wrapper-before-deletion.patch 2013-09-11 19:17:12 UTC (rev 25835)
@@ -1,43 +0,0 @@
-From aeccd2a05bba8c94a3a338370f16af1d545e8abd Mon Sep 17 00:00:00 2001
-From: John Ehresman <jpe at wingware.com>
-Date: Thu, 20 Dec 2012 11:57:15 -0500
-Subject: [PATCH 2/9] Invalidate metaObject wrapper before deletion
-
-Change-Id: I95d3f8dd4a8473849ca19b5c8d5d59dee4c42991
-Reviewed-by: Hugo Parente Lima <hugo.lima at openbossa.org>
----
- libpyside/signalmanager.cpp | 13 +++++++++++--
- 1 files changed, 11 insertions(+), 2 deletions(-)
-
-diff --git a/libpyside/signalmanager.cpp b/libpyside/signalmanager.cpp
-index d9184eb..b46d1b9 100644
---- a/libpyside/signalmanager.cpp
-+++ b/libpyside/signalmanager.cpp
-@@ -61,13 +61,22 @@ namespace {
- #ifdef IS_PY3K
- static void destroyMetaObject(PyObject* obj)
- {
-- delete reinterpret_cast<PySide::DynamicQMetaObject*>(PyCapsule_GetPointer(obj, 0));
-+ void* ptr = PyCapsule_GetPointer(obj, 0);
-+ PySide::DynamicQMetaObject* meta = reinterpret_cast<PySide::DynamicQMetaObject*>(ptr);
-+ SbkObject* wrapper = Shiboken::BindingManager::instance().retrieveWrapper(meta);
-+ if (wrapper)
-+ Shiboken::BindingManager::instance().releaseWrapper(wrapper);
-+ delete meta;
- }
-
- #else
- static void destroyMetaObject(void* obj)
- {
-- delete reinterpret_cast<PySide::DynamicQMetaObject*>(obj);
-+ PySide::DynamicQMetaObject* meta = reinterpret_cast<PySide::DynamicQMetaObject*>(obj);
-+ SbkObject* wrapper = Shiboken::BindingManager::instance().retrieveWrapper(meta);
-+ if (wrapper)
-+ Shiboken::BindingManager::instance().releaseWrapper(wrapper);
-+ delete meta;
- }
- #endif
- }
---
-1.7.2.5
-
Deleted: packages/pyside/trunk/debian/patches/1.1.2-3-Use-QObject-property-to-invalidate-wrapper-before-de.patch
===================================================================
--- packages/pyside/trunk/debian/patches/1.1.2-3-Use-QObject-property-to-invalidate-wrapper-before-de.patch 2013-09-11 19:16:48 UTC (rev 25834)
+++ packages/pyside/trunk/debian/patches/1.1.2-3-Use-QObject-property-to-invalidate-wrapper-before-de.patch 2013-09-11 19:17:12 UTC (rev 25835)
@@ -1,111 +0,0 @@
-From b3669dca4e4321b204d10b06018d35900b1847ee Mon Sep 17 00:00:00 2001
-From: John Ehresman <jpe at wingware.com>
-Date: Thu, 20 Dec 2012 17:26:29 -0500
-Subject: [PATCH 3/9] Use QObject property to invalidate wrapper before deletion.
-
-Define a getWrapperForQObject function to create / find
-wrappers for QObject derived objects. It sets a property
-so that an invalidate function can be called when the QObject
-property is cleared in the QObject destructor after all destroyed
-signal handlers have been called. Requires a change to shiboken
-to generate calls to the getWrapperForQObject function.
-
-Change-Id: I4ed548af114bf7176e8e8255a3ea70549c35d74c
-Reviewed-by: Hugo Parente Lima <hugo.lima at openbossa.org>
----
- libpyside/pyside.cpp | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++
- libpyside/pyside.h | 2 +
- 2 files changed, 54 insertions(+), 0 deletions(-)
-
-diff --git a/libpyside/pyside.cpp b/libpyside/pyside.cpp
-index 0d96f95..a71b139 100644
---- a/libpyside/pyside.cpp
-+++ b/libpyside/pyside.cpp
-@@ -36,6 +36,7 @@
- #include <basewrapper.h>
- #include <conversions.h>
- #include <sbkconverter.h>
-+#include <gilstate.h>
- #include <typeresolver.h>
- #include <bindingmanager.h>
- #include <algorithm>
-@@ -44,6 +45,7 @@
- #include <QStack>
- #include <QCoreApplication>
- #include <QDebug>
-+#include <QSharedPointer>
-
- static QStack<PySide::CleanupFunction> cleanupFunctionList;
- static void* qobjectNextAddr;
-@@ -293,5 +295,55 @@ void setNextQObjectMemoryAddr(void* addr)
- qobjectNextAddr = addr;
- }
-
-+} // namespace PySide
-+
-+// A QSharedPointer is used with a deletion function to invalidate a pointer
-+// when the property value is cleared. This should be a QSharedPointer with
-+// a void* pointer, but that isn't allowed
-+typedef char any_t;
-+Q_DECLARE_METATYPE(QSharedPointer<any_t>);
-+
-+namespace PySide
-+{
-+
-+static void invalidatePtr(any_t* object)
-+{
-+ Shiboken::GilState state;
-+
-+ SbkObject* wrapper = Shiboken::BindingManager::instance().retrieveWrapper(object);
-+ if (wrapper != NULL)
-+ Shiboken::BindingManager::instance().releaseWrapper(wrapper);
-+}
-+
-+static const char invalidatePropertyName[] = "_PySideInvalidatePtr";
-+
-+PyObject* getWrapperForQObject(QObject* cppSelf, SbkObjectType* sbk_type)
-+{
-+ PyObject* pyOut = (PyObject*)Shiboken::BindingManager::instance().retrieveWrapper(cppSelf);
-+ if (pyOut) {
-+ Py_INCREF(pyOut);
-+ return pyOut;
-+ }
-+
-+ // Setting the property will trigger an QEvent notification, which may call into
-+ // code that creates the wrapper so only set the property if it isn't already
-+ // set and check if it's created after the set call
-+ QVariant existing = cppSelf->property(invalidatePropertyName);
-+ if (!existing.isValid()) {
-+ QSharedPointer<any_t> shared_with_del((any_t*)cppSelf, invalidatePtr);
-+ cppSelf->setProperty(invalidatePropertyName, QVariant::fromValue(shared_with_del));
-+ pyOut = (PyObject*)Shiboken::BindingManager::instance().retrieveWrapper(cppSelf);
-+ if (pyOut) {
-+ Py_INCREF(pyOut);
-+ return pyOut;
-+ }
-+ }
-+
-+ const char* typeName = typeid(*cppSelf).name();
-+ pyOut = Shiboken::Object::newObject(sbk_type, cppSelf, false, false, typeName);
-+
-+ return pyOut;
-+}
-+
- } //namespace PySide
-
-diff --git a/libpyside/pyside.h b/libpyside/pyside.h
-index 779c630..35cd364 100644
---- a/libpyside/pyside.h
-+++ b/libpyside/pyside.h
-@@ -117,6 +117,8 @@ PYSIDE_API bool inherits(PyTypeObject* self, const char* class_name);
- PYSIDE_API void* nextQObjectMemoryAddr();
- PYSIDE_API void setNextQObjectMemoryAddr(void* addr);
-
-+PYSIDE_API PyObject* getWrapperForQObject(QObject* cppSelf, SbkObjectType* sbk_type);
-+
- } //namespace PySide
-
-
---
-1.7.2.5
-
Modified: packages/pyside/trunk/debian/patches/series
===================================================================
--- packages/pyside/trunk/debian/patches/series 2013-09-11 19:16:48 UTC (rev 25834)
+++ packages/pyside/trunk/debian/patches/series 2013-09-11 19:17:12 UTC (rev 25835)
@@ -1,5 +1,2 @@
-1.1.2-1-Fix-reference-leak-on-convertion-from-a-C-map-type-t.patch
-1.1.2-2-Invalidate-metaObject-wrapper-before-deletion.patch
-1.1.2-3-Use-QObject-property-to-invalidate-wrapper-before-de.patch
lessBuildVerbosity.patch
cmake_selectDefaultPython.patch
More information about the Python-modules-commits
mailing list