<br><div class="gmail_quote">Hi richard,<br><br>Do you think this is corrected now and if it is in which release will it be available ?<br><br>Thanks<br>Cedric<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<div><div></div><div class="h5"><br><br><div class="gmail_quote">On Tue, Aug 18, 2009 at 2:59 PM, Richard Dale <span dir="ltr"><<a href="mailto:richard.j.dale@gmail.com" target="_blank">richard.j.dale@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><div>On Tue, Aug 18, 2009 at 1:45 PM, Cédric<<a href="mailto:kde@xfou.com" target="_blank">kde@xfou.com</a>> wrote:<br>
> Thanks Richard,<br>
><br>
> That seems to be the problem.<br>
> What I was telling in my earlier mail is that the javascript binding seems<br>
> to have a similar problem with plasmoid.dataEngine("engine<br>
> name").serviceForSource("source name") and maybe they solved it by<br>
> implementing the service function: plasmoid.service("engine name", "source<br>
> name") (and method Plasma::Applet#service is not implemented in ruby ) .<br>
><br>
</div>I found the problem. It is a bug in how the smoke library works with<br>
overriden virtual methods in classes that are don't have bindings<br>
generated for them. In this case the 'TasksEngine' class isn't part of<br>
the bindings, and when the serviceForSource() method is called on the<br>
DataEngine, the code to invoke it looks like this:<br>
<br>
void x_10(Smoke::Stack x) {<br>
// serviceForSource(const QString&)<br>
Plasma::Service* xret =<br>
this->Plasma::DataEngine::serviceForSource(*(const QString<br>
*)x[1].s_voidp);<br>
x[0].s_class = (void*)xret;<br>
}<br>
<br>
When it should probably look like this, and invoke the method in the<br>
TasksEngine class:<br>
<br>
void x_10(Smoke::Stack x) {<br>
// serviceForSource(const QString&)<br>
Plasma::Service* xret = this->serviceForSource(*(const QString<br>
*)x[1].s_voidp);<br>
x[0].s_class = (void*)xret;<br>
}<br>
<br>
Arno Rehn has just written a new smoke library bindings generator, and<br>
I think we need to discuss this issue and see if we can fix it in that<br>
tool.<br>
<div><div></div><div><br>
-- Richard<br>
_______________________________________________<br>
Plasma-devel mailing list<br>
<a href="mailto:Plasma-devel@kde.org" target="_blank">Plasma-devel@kde.org</a><br>
<a href="https://mail.kde.org/mailman/listinfo/plasma-devel" target="_blank">https://mail.kde.org/mailman/listinfo/plasma-devel</a><br>
</div></div></blockquote></div><br>
</div></div></blockquote></div><br>