[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-devel
Subject:    Newbie: Why does KMainWindow::show() hang?!
From:       Felix <schmitt () voidcast ! de>
Date:       2005-04-26 0:42:00
Message-ID: 200504260242.00481.schmitt () voidcast ! de
[Download RAW message or body]

Hi all,


[System info]

Gentoo
kernel 2.6.6
X Window System Version 6.8.2
Qt: 3.3.4
KDE: 3.3.2


[Problem]

I have created the standard simple KDE application with kdevelop (and it was
running), and tried to adapt it to my needs, with the following result:
when running the application (kdbg), it will hang at line 024 of main.cpp.

with the memory consumption skyrocketing and CPU load > 1.0

I didn't compile the kdelibs with -g, so I can't debug them. I presume the
problem is in kmainwindow.cpp, lines 385/386, where the hiddenDockWindows
iterator either recurses infinitely, or one of the hiddenDockWindows->show()
doesn't return.

I should also say that none of my involved classes reimplement show(). In
fact, the only class reimplementing anything related is a QTable subclass
reimplementing paintCell(), and that works, i have tested it.

I really don't like to recompile the kdelibs just right now. I am still new
 to KDE. Could anyone give me a hint what the most common causes would be?

Thanks

Felix.


[snippet from main.cpp]

000 int main(int argc, char **argv)
001 {
002    KAboutData about("kbinfmt", I18N_NOOP("kbinfmt"), version,
 description, 003                     KAboutData::License_GPL, "(C) %{YEAR}
 Felix Schmitt", 0, 0, "schmitt@voidcast.de");
004     about.addAuthor( "Felix Schmitt", 0, "felix@voidcast.de" );
005     KCmdLineArgs::init(argc, argv, &about);
006    KCmdLineArgs::addCmdLineOptions(options);
007    KApplication app;
008
009    // register ourselves as a dcop client
010    app.dcopClient()->registerAs(app.name(), false);
011
012    // see if we are starting with session management
013    if (app.isRestored())
014    {
015        RESTORE(kbinfmt);
016    }
017    else
018    {
019        // no session.. just start up normally
020        KCmdLineArgs *args = KCmdLineArgs::parsedArgs();
021        if (args->count() == 0)
022        {
023            kbinfmt *widget = new kbinfmt;
024            widget->show();
025        }
026        else
027        {
028            int i = 0;
029            for (; i < args->count(); i++)
030            {
031                kbinfmt *widget = new kbinfmt;
032                widget->show();
033//                widget->load(args->url(i));
034            }
035        }
036	std::cout << "main l" << __LINE__ << std::endl;
037        args->clear();
038    }
039    std::cout << "main l" << __LINE__ << std::endl;
040    return app.exec();
041}
 
>> Visit http://mail.kde.org/mailman/listinfo/kde-devel#unsub to unsubscribe <<
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic