[Kde-bindings] Qyoto and QImage constructor (missing method)

Arno Rehn arno at arnorehn.de
Sun Jul 11 14:55:52 UTC 2010


On Saturday 10 July 2010 23:39:02 Lorenz Cuno Klopfenstein wrote:
> Hello everybody,
> I've been working with Qyoto for a bit now, using the package that
> ships with Ubuntu 10.04. I've hit a problem when trying to construct a
> QImage instance using a raw data pointer (that I get from GStreamer).
> The code that generates the image is as follows:
> 
> 	byte[] incomingBuffer; //copied in from Gst
> 	var p = new Pointer<byte>(incomingBuffer);
> 	var img = new QImage(p, 320, 240, QImage.Format.Format_RGB32);
> 
> I'm pretty sure the raw data and the parameters are correct. However,
> the application outputs the following, before crashing:
> 
>     LEAVE Invoke() ** Missing method ** QImage.QImage(uchar*, int,
> int, QImage::Format)
>     Cannot handle 'const QImage&' as argument to QPainter::drawImage
> 
> So, I'm assuming the constructor is not called and then, when
> attempting to draw the partially constructed image, the app fails in
> Qt's native code.
This should be fixed now in trunk and the KDE 4.5 branch. Thanks for reporting!

> PS: another weird thing is that the QWidget.WinId() method is missing
> in my Qyoto Dll. I have been able to work around the issue by using
> the following extension method:
> 
>     public static uint WinId(this QWidget widget){
>         var invocation = new SmokeInvocation(typeof(QWidget), widget);
>         return (uint)invocation.Invoke("winId", "winId() const",
> typeof(uint)); }
No, this method was left out intentionally, because using it is probably not 
cross-platform. If you want to use it, the extenstion-method approach is 
probably best.

-- 
Arno Rehn
arno at arnorehn.de



More information about the Kde-bindings mailing list