[Kde-bindings] Re: smoke: external super classes not included in case of multiple inheritance

Arno Rehn arno at arnorehn.de
Mon Oct 4 14:16:54 UTC 2010


On Monday 04 October 2010 14:20:40 Michael Lawrence wrote:
> On Thu, Sep 2, 2010 at 5:17 PM, Arno Rehn <arno at arnorehn.de> wrote:
> > On Friday 03 September 2010 02:10:06 Chris Burel wrote:
> > > Smoke does know about multiple inheritance.  Check out the big
> > > classes[] array in smokedata.cpp.  For mine, the QWidget entry looks
> > > like this:
> > > { "QWidget", false, 200, xcall_QWidget, xenum_QWidget,
> > > Smoke::cf_constructor|Smoke::cf_virtual, sizeof(QWidget) },   //451
> > > 
> > > The 3rd field, 200, is the index into the inheritanceList[] array,
> > > 
> > > which looks like this:
> > >     240, 242, 0,      // 200: QObject, QPaintDevice
> > > 
> > > 240 and 242 are indexes back to classes[] :
> > >     { "QObject", true, 0, 0, 0, 0, 0 },       //240
> > >     { "QPaintDevice", false, 0, xcall_QPaintDevice,
> > > 
> > > xenum_QPaintDevice, Smoke::cf_constructor|Smoke::cf_virtual,
> > > sizeof(QPaintDevice) },       //242
> > > 
> > > So the smoke lib has that info.
> > 
> > It appears that Michael is creating his own smoke lib though, and in that
> > case
> > he is right (just confirmed it on my machine). It doesn't include
> > external, non-first-grade parents, which is clearly a bug. Thanks for
> > the report Michael, will try to fix it over the weekend.
> 
> Was there an attempt to fix this? And the 'long long' munging to '$' would
> also be appreciated.
Not yet, but it is on my TODO list. I've just moved and am now starting to 
study, so it might take a while before I find time again.
Fixing the munging of 'long long' shouldn't be that hard. It requires only 
changing a couple of lines - so if anyone wants to try it himself, go ahead.
I don't know yet where the other bug has it's cause, but it shouldn't be too 
hard to fix either.

-- 
Arno Rehn
arno at arnorehn.de



More information about the Kde-bindings mailing list