<html><body><div style="color:#000; background-color:#fff; font-family:times new roman, new york, times, serif;font-size:12pt"><div><br></div><div style="color: rgb(0, 0, 0); font-size: 16px; font-family: times new roman,new york,times,serif; background-color: transparent; font-style: normal;"><span class="tab"> Hello,</span></div><div style="color: rgb(0, 0, 0); font-size: 16px; font-family: times new roman,new york,times,serif; background-color: transparent; font-style: normal;"><br><span class="tab"></span></div><div class="yui_3_7_2_17_1367261500790_38" style="color: rgb(0, 0, 0); font-size: 16px; font-family: times new roman,new york,times,serif; background-color: transparent; font-style: normal;"><span class="tab"> We have the following situation with Qt 5 that smokegen cannot handle: QMetaObject::Connection, declared </span><span class="tab"></span><span class="tab">in <a
href="http://qt.gitorious.org/qt/qtbase/blobs/stable/src/corelib/kernel/qobjectdefs.h">qobjectsdef.h</a>, is not wrapped. These lines at SmokeDataFile::SmokeDataFile() in writeSmokeDataFile:</span></div><div class="yui_3_7_2_17_1367261500790_38" style="color: rgb(0, 0, 0); font-size: 16px; font-family: times new roman,new york,times,serif; background-color: transparent; font-style: normal;"><span class="tab"> <br></span></div><div class="yui_3_7_2_17_1367261500790_38" style="color: rgb(0, 0, 0); font-size: 16px; font-family: times new roman,new york,times,serif; background-color: transparent; font-style: normal;"><span class="tab"> if (!Options::classList.contains(iter.key()) || iter.value().isForwardDecl())</span></div><div class="yui_3_7_2_17_1367261500790_38" style="color: rgb(0, 0, 0); font-size: 16px; font-family: times new roman,new york,times,serif; background-color: transparent; font-style: normal;"><span
class="tab"> </span><span class="tab"> externalClasses << &iter.value();</span><span class="tab"></span></div><div class="yui_3_7_2_17_1367261500790_38" style="color: rgb(0, 0, 0); font-size: 16px; font-family: times new roman,new york,times,serif; background-color: transparent; font-style: normal;"><span class="tab"></span><span class="tab"><br></span></div><div class="yui_3_7_2_17_1367261500790_38" style="color: rgb(0, 0, 0); font-size: 16px; font-family: times new roman,new york,times,serif; background-color: transparent; font-style: normal;"><span class="tab"> marks this cla</span>ss as external. This makes it impossible to wrap Qt 5 because this class is the return type of the QObject::connect function in Qt 5. Removing the <span class="tab">"iter.value().isForwardDecl()</span>" part wraps the class (which makes wrapping possible) but fails to wrap any of its members so it's half a
solution. Removing the other usages of "<span class="tab">isForwardDecl()</span>" would wrap the members as well but this generates a whole lot of errors because of classes that are really external. I haven't delved any deeper yet but does anyone have a clue?</div><div class="yui_3_7_2_17_1367261500790_38" style="color: rgb(0, 0, 0); font-size: 16px; font-family: times new roman,new york,times,serif; background-color: transparent; font-style: normal;"><br></div><div class="yui_3_7_2_17_1367261500790_38" style="color: rgb(0, 0, 0); font-size: 16px; font-family: times new roman,new york,times,serif; background-color: transparent; font-style: normal;"><span class="tab"> Regards,</span></div><div class="yui_3_7_2_17_1367261500790_38" style="color: rgb(0, 0, 0); font-size: 16px; font-family: times new roman,new york,times,serif; background-color: transparent; font-style: normal;"><span class="tab"> Dimitar
Dobrev</span><br><span class="tab"></span></div></div></body></html>