KDE 4 porting: KBabel Project configuration crashes, help needed

David Faure faure at kde.org
Wed Oct 11 23:33:59 BST 2006


On Saturday 07 October 2006 18:51, Stephan Johach wrote:
> KDbg shows, the assertion is triggered in
> 
> KTabCtrl::Private::showTab(int index)

Ah, KTabCtl, not KTabCtrl, fooled my greps for a second ;) 

Indeed ktabctltest showed the same crash on start. 
Crash fixed, but now all widgets appear on start; ktabctl was trying to reimplement show() which isn't virtual.
Fixed, but now I see that the API mixes tab text and object names....
Changed API to use IDs like QTabBar/QTabWidget, isTabEnabled(text) is just broken api.
...

So anyway, how is KTabCtl different from QTabWidget? It uses a QTabBar too, it doesn't use 
a stack widget, but it does pretty much the same. The docu said (among some wrong or confusing things)
that the difference was that the tabSelected signal is emitted before a page is selected,
so the page can be populated or updated at that point... but one can do that with QTabWidget
too, no?

So I have to ask: how about we port the app code to QTabWidget and drop KTabCtl?

LXR says: kbabel, kbackgammon, kdeadmin/kdat, kdeadmin/lilo-config, some pykde examples,
and from playground: guidance and kbabeldebug. And I don't see any special use
of dynamic changes of contents or anything specific to KTabCtl.

(Note: ktabctltest looks crap because the large app-default font isn't taken into 
account in any font metrics - but I see that the same happens with QTabWidget.
Strange; much be some unrelated bug, but probably using layouts instead of
calling adjustSize() once, would fix it.)

-- 
David Faure, faure at kde.org, sponsored by Trolltech to work on KDE,
Konqueror (http://www.konqueror.org), and KOffice (http://www.koffice.org).




More information about the kde-core-devel mailing list