Hello, <br>
<br>
As I promised, All the themes in Examples section are working smoothly.<br>
But there is problem in KNewsuff part. It is actually bug of KNewStuff library.<br>
KNewStuff dialog is shown, but I get&nbsp; infinite recursion, when clicked on one tab. <br>
the bactrace shows this.......<br>
<br>
#557 0x410ffe7e in QTabBar::setCurrentIndex () from /home/kde4/qt/lib/libQtGui_debug.so.4<br>
#558 0x405f7f44 in KTabCtl::showTab (this=0x8271cd8, i=1) at qtabbar.h:119<br>
#559 0x405f802d in KTabCtl::qt_metacall (this=0x8271cd8, _c=InvokeMetaMethod, _id=1, _a=0xbf68e5f8) at ktabctl.moc:68<br>
#560 0x4161d6e1 in QMetaObject::activate () from /home/kde4/qt/lib/libQtCore_debug.so.4<br>
#561 0x4161d7ef in QMetaObject::activate () from /home/kde4/qt/lib/libQtCore_debug.so.4<br>
#562 0x4110171b in QTabBar::selected () from /home/kde4/qt/lib/libQtGui_debug.so.4<br>
#563 0x410ffe7e in QTabBar::setCurrentIndex () from /home/kde4/qt/lib/libQtGui_debug.so.4<br>
#564 0x405f7f44 in KTabCtl::showTab (this=0x8271cd8, i=1) at qtabbar.h:119<br>
#565 0x405f802d in KTabCtl::qt_metacall (this=0x8271cd8, _c=InvokeMetaMethod, _id=1, _a=0xbf68eba8) at ktabctl.moc:68<br>
#566 0x4161d6e1 in QMetaObject::activate () from /home/kde4/qt/lib/libQtCore_debug.so.4<br>
#567 0x4161d7ef in QMetaObject::activate () from /home/kde4/qt/lib/libQtCore_debug.so.4<br>
#568 0x4110171b in QTabBar::selected () from /home/kde4/qt/lib/libQtGui_debug.so.4<br>
#569 0x410ffe7e in QTabBar::setCurrentIndex () from /home/kde4/qt/lib/libQtGui_debug.so.4<br>
<br>looking into backtrace, the infinite recursion is very clear. After looking into source, the reason is clear...<br>
&lt;snip KTabCtl&gt;<br>
void KTabCtl::showTab(int i)<br>
{<br>
&nbsp;&nbsp;&nbsp; unsigned int j;<br>
&nbsp;&nbsp;&nbsp; for (j = 0; j &lt; pages.size(); j++) {<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (j != (unsigned)i) {<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; pages[j]-&gt;hide();<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br>
&nbsp;&nbsp;&nbsp; }<br>
<br>
&nbsp;&nbsp;&nbsp; if((unsigned)i &lt; pages.size()) {<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; emit(tabSelected(i));<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if( pages.size() &gt;= 2 ) {<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
pages[i]-&gt;raise();<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; tabs-&gt;setCurrentTab(i); <span style="font-weight: bold;">// line of interest...</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; pages[i]-&gt;setGeometry(getChildRect());<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; pages[i]-&gt;show();<br>
&nbsp;&nbsp;&nbsp; }<br>
}<br>
&lt;/snip&gt;<br>
<br>
setCurrentTab() calls setCurrentIndex().<br>
setCurrentIndex emits signal QTabBar::selected()<br>
and in the constructor of KTabCtl<br>
&lt;snip&gt;<br>
{<br>
&nbsp;&nbsp;&nbsp; tabs = new QTabBar(this);<br>
&nbsp;&nbsp;&nbsp; connect(tabs, SIGNAL(selected(int)), this, SLOT(showTab(int))); <span style="font-weight: bold;">//problematic point</span><br>
&nbsp;&nbsp;&nbsp; tabs-&gt;move(2, 1);<br>
<br>
&nbsp;&nbsp;&nbsp; blBorder = true;<br>
}<br>
&lt;/snip&gt;<br>
The reason of recursion is evident immediately. Corresponding person should resolve this matter.<br>
<br>
I also got a crash when testing themes. That was because of these statements....<br>
function()<br>
{<br>
<br>
QPixmap pm.;<br>
QPainter p;<br>
p.begin(&amp;pm);<br>
bitBlt(&amp;pm,.............................); <span style="font-weight: bold;">//The problem.</span><br>
p.end();<br>
}<br>
<br>
BitBlt actually wants to open QPainter on QPaintdevice, which it cant
do, when it cant do because of p.begin() already called. So there is
trouble and finally crash(qFatal()).<br>
<br>
I just changed the order and everything is smooth. My curiousity is
that, how can this work in Qt3? Does qt allows to call bitBlt() with
opened painter on QPaintDevice?<br>
<br>
bye<br>
Vinay Khaitan<br>
<br>
<br><div><span class="gmail_quote">On 9/2/05, <b class="gmail_sendername">Vinay Khaitan</b> &lt;<a href="mailto:vkhaitan@gmail.com">vkhaitan@gmail.com</a>&gt; wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
As Qt4 port is now complete, I am now doing the bug hunting task. It
looks that perhaps KDE-3.5 branch also had bug, which crashes things.<br>
After some bug hunting When A nice theme is running smoothly, I will post again.<br><br><div><span class="q"><span class="gmail_quote">On 9/1/05, <b class="gmail_sendername">Vinay Khaitan</b> &lt;<a href="mailto:vkhaitan@gmail.com" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">
vkhaitan@gmail.com
</a>&gt; wrote:</span></span><span class="q"><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">oops, the image requires moderator approval. the link for it:-
<br>
<a href="http://k.domaindlx.com/vkhaitan/snapshot3.png" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">http://k.domaindlx.com/vkhaitan/snapshot3.png</a><br>

</blockquote></span></div><br>

</blockquote></div><br>