diff options
author | Hugo Lima <hugo.lima@openbossa.org> | 2010-02-18 16:11:09 -0200 |
---|---|---|
committer | Hugo Lima <hugo.lima@openbossa.org> | 2010-02-18 18:00:49 -0200 |
commit | a6a1481df381d1e8595fd489796ac97f096e0a89 (patch) | |
tree | 5449d968283d9ed3220b9145bcc9830b6351db6f /PySide/QtGui | |
parent | aa2a2a57030dec2e8b73b017de5f157aae0fb5e5 (diff) |
Do not export symbols, because nobody can link against QtCore.
Diffstat (limited to 'PySide/QtGui')
-rw-r--r-- | PySide/QtGui/glue/qapplication_init.cpp | 21 |
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; } |