[prev in list] [next in list] [prev in thread] [next in thread]
List: pykde
Subject: Re: [PyKDE] ANN: SIP v4.0pre3 Released
From: Phil Thompson <phil () riverbankcomputing ! co ! uk>
Date: 2003-10-29 13:07:18
[Download RAW message or body]
On Tuesday 28 October 2003 11:39 pm, Hans-Peter Jansen wrote:
> Hi Phil,
>
> On Tuesday 28 October 2003 12:31, Phil Thompson wrote:
> > SIP v4.0pre3 is now available from the usual place. If you are
> > using it to build PyQt you will need a current PyQt snapshot.
>
> I finally got around updating to SuSE 9.0, and made a first
> attempt to build rpms for sip4 & PyQt.
>
> First impression: very well. sip4 makes the whole project looking
> __much__ nicer. Congratulations.
>
> sip4 built well, but PyQt-20031027 refused to link the GL stuff
> properly: ld: cannot find -lXmu
> I had to apply this patch to get through it:
>
> --- sip/qtgl/qtglmod.sip~ 2003-10-28 02:06:23.000000000 +0100
> +++ sip/qtgl/qtglmod.sip 2003-10-28 23:11:30.000000000 +0100
> @@ -59,7 +59,7 @@
> TEMPLATE = lib
> TARGET = @BLX_TARGET_LIB@
> DESTDIR = @PYQT_MODDIR@
> -CONFIG += @BLX_CONFIG_LIB@ opengl @PYQT_WARN@
> +CONFIG += @BLX_CONFIG_LIB@ opengl x11 @PYQT_WARN@
> INCLUDEPATH = @BLX_INCLUDEPATH@
> DEFINES = @BLX_DEFINES@
> LIBS += @PYQT_QT_MODULE@ @BLX_LIBS@
>
>
> Unfortunately, sip4 seem to have problems with class variables of
> certain Qt derived classes, and throws errors like:
>
> Traceback (most recent call last):
> File "/home/hp/src/python/qt/epsutil/epsutil.py", line 288, in polish
> m = self.cfg.model
> AttributeError: cfg
> Traceback (most recent call last):
> File "main.py", line 46, in ?
> w = mainWindow(app)
> File "/home/hp/src/python/qt/epsutil/epsutil.py", line 237, in __init__
> wh = self.cfg.mainScreenSize
> AttributeError: cfg
> Speicherzugriffsfehler
>
> Here is the corresponding source excerpt:
>
> class mainWindow(epsDial):
> def __init__(self, app, parent = None, name = None, fl = 0):
> self.app = app
> self.model = None
> self.cfg = config.Config()
> self.cfg.load()
> if styleDict.has_key(self.cfg.style):
> app.setStyle(styleDict[self.cfg.style]())
> # set up parent
> epsDial.__init__(self, parent, name, fl)
> wh = self.cfg.mainScreenSize
> if wh:
> self.resize(wh[0], wh[1])
> xy = self.cfg.mainScreenLocation
> if xy:
> self.move(xy[0], xy[1])
>
> You see, self.cfg definitely exists at that point.
>
> Any ideas?
There are two unrelated bugs - fixes will be in tonight's snapshot, or apply
the attached patch.
Phil
["siplib.c.diff" (text/x-diff)]
--- siplib.c.orig Wed Oct 29 13:04:33 2003
+++ siplib.c Wed Oct 29 13:05:46 2003
@@ -2964,6 +2964,9 @@
{
PyObject *meth;
+ if (sipInterpreter == NULL)
+ return NULL;
+
#ifdef WITH_THREAD
*gil = PyGILState_Ensure();
#endif
@@ -3899,10 +3902,6 @@
PyErr_SetString(PyExc_TypeError,"keyword arguments are not supported");
return -1;
}
-
- /* Create the instance dictionary. */
- if ((self -> dict = PyDict_New()) == NULL)
- return -1;
/* See if there is an existing C++ instance waiting to be wrapped. */
if ((sipNew = sipGetPending(&sipFlags)) == NULL)
_______________________________________________
PyKDE mailing list PyKDE@mats.imk.fraunhofer.de
http://mats.imk.fraunhofer.de/mailman/listinfo/pykde
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic