Looks like this is probably the same probable affecting me in qtruby. I'll work on a patch.<br>Ryan<br><br><div class="gmail_quote">On Thu, Sep 2, 2010 at 8:49 PM, Chris Michael Burel <span dir="ltr"><<a href="mailto:chrisburel@gmail.com">chrisburel@gmail.com</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;">SVN commit 1171223 by burel:<br>
<br>
When calling a method in QGlobalSpace, don't stop when you find the first smoke module that provides the method you're looking for. Look through all smoke modules. This was breaking when calling operator<< on a QPixmap, because that method was defined by the QtGui module. The code would find the methods from QtCore and stop there.<br>
<br>
I think the other bindings may want this too. I checked Ruby, and it looked incorrect to me.<br>
<br>
CCMAIL: <a href="mailto:kde-bindings@kde.org">kde-bindings@kde.org</a><br>
<br>
M +7 -4 QtCore4.xs<br>
<br>
<br>
--- trunk/KDE/kdebindings/perl/qtcore/src/QtCore4.xs #1171222:1171223<br>
@@ -48,21 +48,23 @@<br>
char* classname<br>
char* methodname<br>
PPCODE:<br>
- Smoke::ModuleIndex mi;<br>
+ QList<Smoke::ModuleIndex> milist;<br>
if ( strcmp( classname, "QGlobalSpace" ) == 0 ) {<br>
// All modules put their global functions in "QGlobalSpace". So we<br>
// have to use each smoke object to look for this method.<br>
for (int i = 0; i < smokeList.size(); ++i) {<br>
- mi = smokeList.at(i)->findMethod(classname, methodname);<br>
+ Smoke::ModuleIndex mi = smokeList.at(i)->findMethod(classname, methodname);<br>
if( mi.smoke ) {<br>
- break;<br>
+ // Found a result, add it to the return<br>
+ milist.append(mi);<br>
}<br>
}<br>
}<br>
else {<br>
// qtcore_Smoke will be able to find any method not in QGlobalSpace<br>
- mi = qtcore_Smoke->findMethod(classname, methodname);<br>
+ milist.append( qtcore_Smoke->findMethod(classname, methodname) );<br>
}<br>
+ foreach (Smoke::ModuleIndex mi, milist) {<br>
if ( !mi.index ) {<br>
// empty list<br>
}<br>
@@ -95,6 +97,7 @@<br>
}<br>
}<br>
}<br>
+ }<br>
<br>
#// Args: none<br>
#// Returns: an array of all classes that qtcore_Smoke knows about<br>
_______________________________________________<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>
</blockquote></div><br>