aboutsummaryrefslogtreecommitdiffstats
path: root/PySide/QtGui
diff options
context:
space:
mode:
authorHugo Lima <hugo.lima@openbossa.org>2010-02-18 16:11:09 -0200
committerHugo Lima <hugo.lima@openbossa.org>2010-02-18 18:00:49 -0200
commita6a1481df381d1e8595fd489796ac97f096e0a89 (patch)
tree5449d968283d9ed3220b9145bcc9830b6351db6f /PySide/QtGui
parentaa2a2a57030dec2e8b73b017de5f157aae0fb5e5 (diff)
Do not export symbols, because nobody can link against QtCore.
Diffstat (limited to 'PySide/QtGui')
-rw-r--r--PySide/QtGui/glue/qapplication_init.cpp21
1 files changed, 14 insertions, 7 deletions
diff --git a/PySide/QtGui/glue/qapplication_init.cpp b/PySide/QtGui/glue/qapplication_init.cpp
index 2afc6a592..554641d46 100644
--- a/PySide/QtGui/glue/qapplication_init.cpp
+++ b/PySide/QtGui/glue/qapplication_init.cpp
@@ -1,9 +1,16 @@
// Borrowed reference to QtGui module
extern PyObject* moduleQtGui;
-// Global variables used to store argc and argv values, defined in QtCore binding
-extern int QCoreApplicationArgCount;
-extern char** QCoreApplicationArgValues;
-extern void DeleteQCoreApplicationAtExit();
+
+static int QApplicationArgCount;
+static char** QApplicationArgValues;
+
+void DeleteQApplicationAtExit() {
+ if (QApplication::instance()) {
+ delete QApplication::instance();
+ for (int i = 0; i < QApplicationArgCount; ++i)
+ delete[] QApplicationArgValues[i];
+ }
+}
int SbkQApplication_Init(PyObject* self, PyObject* args, PyObject*)
{
@@ -18,12 +25,12 @@ int SbkQApplication_Init(PyObject* self, PyObject* args, PyObject*)
return -1;
}
- if (!PySequenceToArgcArgv(PyTuple_GET_ITEM(args, 0), &QCoreApplicationArgCount, &QCoreApplicationArgValues, "PySideApp")) {
+ if (!PySequenceToArgcArgv(PyTuple_GET_ITEM(args, 0), &QApplicationArgCount, &QApplicationArgValues, "PySideApp")) {
PyErr_BadArgument();
return -1;
}
- SbkBaseWrapper_setCptr(self, new QApplication(QCoreApplicationArgCount, QCoreApplicationArgValues));
+ SbkBaseWrapper_setCptr(self, new QApplication(QApplicationArgCount, QApplicationArgValues));
SbkBaseWrapper_setValidCppObject(self, 1);
Shiboken::BindingManager::instance().registerWrapper(reinterpret_cast<SbkBaseWrapper*>(self));
@@ -38,7 +45,7 @@ int SbkQApplication_Init(PyObject* self, PyObject* args, PyObject*)
PyObject_SetAttrString(moduleQtGui, QAPP_MACRO, self);
Py_INCREF(self);
- Py_AtExit(DeleteQCoreApplicationAtExit);
+ Py_AtExit(DeleteQApplicationAtExit);
return 1;
}