<br><br><div class="gmail_quote">On Thu, Sep 2, 2010 at 5:17 PM, Arno Rehn <span dir="ltr"><<a href="mailto:arno@arnorehn.de">arno@arnorehn.de</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
<div class="im">On Friday 03 September 2010 02:10:06 Chris Burel wrote:<br>
> Smoke does know about multiple inheritance.  Check out the big<br>
> classes[] array in smokedata.cpp.  For mine, the QWidget entry looks<br>
> like this:<br>
> { "QWidget", false, 200, xcall_QWidget, xenum_QWidget,<br>
> Smoke::cf_constructor|Smoke::cf_virtual, sizeof(QWidget) },   //451<br>
><br>
> The 3rd field, 200, is the index into the inheritanceList[] array,<br>
> which looks like this:<br>
>     240, 242, 0,      // 200: QObject, QPaintDevice<br>
><br>
> 240 and 242 are indexes back to classes[] :<br>
>     { "QObject", true, 0, 0, 0, 0, 0 },       //240<br>
>     { "QPaintDevice", false, 0, xcall_QPaintDevice,<br>
> xenum_QPaintDevice, Smoke::cf_constructor|Smoke::cf_virtual,<br>
> sizeof(QPaintDevice) },       //242<br>
><br>
> So the smoke lib has that info.<br>
</div>It appears that Michael is creating his own smoke lib though, and in that case<br>
he is right (just confirmed it on my machine). It doesn't include external,<br>
non-first-grade parents, which is clearly a bug. Thanks for the report<br>
Michael, will try to fix it over the weekend.<br></blockquote><div><br>Was there an attempt to fix this? And the 'long long' munging to '$' would also be appreciated.<br><br>Thanks for your hard work,<br>
<br>Michael<br><br> </div><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
The bug has just never appeared before, because the now missing classes where<br>
always used in some other fashion and therefore found by the internal<br>
algorithms.<br>
<div class="im"><br>
> 2010/9/2 Michael Lawrence <<a href="mailto:lawrence.michael@gene.com">lawrence.michael@gene.com</a>>:<br>
> > Hi,<br>
> ><br>
> > Would have submitted a bug, but <a href="http://bugs.kde.org" target="_blank">bugs.kde.org</a> was having some issues.<br>
> > Anyway, it seems to me that libraries generated by smoke (i.e., the<br>
> > smokedata.cpp) does not always list all of the external classes that are<br>
> > the super classes of classes defined by the input library. This is true<br>
> > at least in the case of multiple inheritance. For example, my library<br>
> > has a class that extends QGraphicsWidget (which is included), but<br>
> > QGraphicsLayoutItem is not. This means an invalid cast occurs from my<br>
> > widget to QGraphicsLayoutItem. Same thing for any QWidget: QPaintDevice<br>
> > is not mentioned.<br>
> ><br>
> > Am I missing something or is Smoke?<br>
<br>
<br>
</div><font color="#888888">--<br>
Arno Rehn<br>
<a href="mailto:arno@arnorehn.de">arno@arnorehn.de</a><br>
</font><div><div></div><div class="h5">_______________________________________________<br>
Kde-bindings mailing list<br>
<a href="mailto:Kde-bindings@kde.org">Kde-bindings@kde.org</a><br>
<a href="https://mail.kde.org/mailman/listinfo/kde-bindings" target="_blank">https://mail.kde.org/mailman/listinfo/kde-bindings</a><br>
</div></div></blockquote></div><br>