cast_object_to bug / PerlQt cvs compilation (Was Re: [Kde-bindings] [Bug 71316] QtRuby : Segmentation fault when loading Qt)

Richard Dale Richard_Dale at tipitina.demon.co.uk
Tue Jan 13 09:28:16 UTC 2004


On Monday 12 January 2004 21:41, Alexander Kellett wrote:
> On Monday 12 January 2004 22:08, Richard Dale wrote:
> > I updated the current kalyptus and smoke/kde with kdelibs, and it all
> > built fine for me. BTW Alex for nitive spookers the wood is 'weird'.. :)
>
> it worked even on pressing the debug button?
> if so, thats just plain wierd as your platform
> ain't crashing with blatently wrong code :)
>
> but then it just looks stupidly wierd :)
> thats me most commonly mispelt word
> and so 'as it always been, since the
> days when i was but a wee ickle boy,
> and hopefully till the day comes that
> i turn all grown up and stuff :)
Just remember the rule 'I before E except after C', then remember it's wrong, 
I suppose that's what I do. Sorry about this, spelling corrections should be 
OT on this list.

I thought it wouldn't start with a URL in BASEDOCURL for you, but it did for 
me. But, it did crash when I pressed the debug button - or at least exited.

> > Alex's example all seemed to work as expected when I tried it. I think
> > the cast_to_object() is correct, even though the malloc'ing might need to
> > be tidied up. And perhaps the method rename dynamic_cast(), and passed a
> > Class as arg, rather than the classname as a String.
>
> the cast_to_object is pretty much certain correct
> it just turned out that the lack of ability to lookup
> constants really is a major problem as i managed
> to copy the wrong value for TEXT_NODE :)
>
> so, the fault was in the usage case. please see my
> cc:'ed commit log from a few hours back :)
>
> (well, unless you already have and i just haven't
> got to the email in my inbox yet ... :))
This works fine for me:

         puts "NODE NAME :: #{node.inspect}"
         if node.nodeType == DOM::Node::TEXT_NODE
            blah = Qt::Internal::cast_object_to(node, "DOM::Text")
            str = puts '"' + blah.data.string + '"'

It's just that the classname string was wrong (no KDE:: needed), which I think 
is a good argument for passing a Class instead.

-- Richard



More information about the Kde-bindings mailing list