Summary: | crash on startup debug log | ||
---|---|---|---|
Product: | [Applications] kdevelop | Reporter: | Per (phobie) <kdebugs.phobie> |
Component: | general | Assignee: | kdevelop-bugs-null |
Status: | RESOLVED NOT A BUG | ||
Severity: | crash | CC: | darkevil, federico.giampietro |
Priority: | NOR | ||
Version: | unspecified | ||
Target Milestone: | --- | ||
Platform: | Debian testing | ||
OS: | Linux | ||
Latest Commit: | Version Fixed In: |
Description
Per (phobie)
2004-10-08 23:29:00 UTC
KDevAssistant crashes when it can't find the splashscreen pixmap. Obviously the code should be more fault tolerant but for a fast solution, fix your installation. :) KDevelop has the same code, so I don't understand why it runs ok. You should find the splashimages in $KDEDIR/share/apps/kdevelop/pics The problem is due to kdevelop3-data: /usr/share/apps/kdevelop does NOT exist The jpg is in /usr/share/apps/kdevelop3/pics ... It's a Debian bug then please file a bug at bugs.debian.org about this. The debian project will have to fix their packages. SVN commit 414754 by dymo: Fixed crashes at startup when splashscreen picture is not found. CCBUG: 90992 M +11 -5 trunk/KDE/kdevelop/kdevdesigner/src/main.cpp M +13 -8 trunk/KDE/kdevelop/src/main.cpp M +12 -7 trunk/KDE/kdevelop/src/main_assistant.cpp --- trunk/KDE/kdevelop/kdevdesigner/src/main.cpp #414753:414754 @@ -55,10 +55,15 @@ else { // no session.. just start up normally - QPixmap pm; - pm.load(locate("data", "kdevelop/pics/kdevdesigner-splash.png")); - QSplashScreen * splash = new QSplashScreen( pm ); - splash->show(); + QSplashScreen * splash = 0; + QString splashFile = locate("data", "kdevelop/pics/kdevdesigner-splash.png"); + if (!splashFile.isNull()) + { + QPixmap pm; + pm.load(splashFile); + splash = new QSplashScreen( pm ); + splash->show(); + } app.processEvents(); @@ -80,7 +85,8 @@ } } args->clear(); - delete splash; + if (splash) + delete splash; } return app.exec(); --- trunk/KDE/kdevelop/src/main.cpp #414753:414754 @@ -83,25 +83,30 @@ KApplication app; KDevIDEExtension::init(); - - QPixmap pm; - pm.load(locate("appdata", "pics/kdevelop-splash.png")); - SplashScreen * splash = new SplashScreen( pm ); + + SplashScreen *splash = 0; + QString splashFile = locate("appdata", "pics/kdevelop-splash.png"); + if (!splashFile.isEmpty()) + { + QPixmap pm; + pm.load(splashFile); + splash = new SplashScreen( pm ); + } app.processEvents(); - splash->message( i18n( "Loading Settings" ) ); + if (splash) splash->message( i18n( "Loading Settings" ) ); TopLevel::getInstance()->loadSettings(); QObject::connect(PluginController::getInstance(), SIGNAL(loadingPlugin(const QString &)), splash, SLOT(message(const QString &))); - splash->show(); + if (splash) splash->show(); PluginController::getInstance()->loadInitialPlugins(); Core::getInstance()->doEmitCoreInitialized(); - splash->message( i18n( "Starting GUI" ) ); + if (splash) splash->message( i18n( "Starting GUI" ) ); //BEGIN a workaround on kmdi bug - we do not allow mainwindow to be shown until now NewMainWindow *mw = dynamic_cast<NewMainWindow*>(TopLevel::getInstance()->main()); if (mw) @@ -109,7 +114,7 @@ //END workaround TopLevel::getInstance()->main()->show(); - delete splash; + if (splash) delete splash; for( int i=0; i<args->count(); ++i ){ kdDebug(9000) << "------> arg " << args->arg(i) << endl; --- trunk/KDE/kdevelop/src/main_assistant.cpp #414753:414754 @@ -83,22 +83,27 @@ KDevAssistantExtension::init(); - QPixmap pm; - pm.load(locate("data", "kdevelop/pics/kdevassistant-splash.png")); - SplashScreen * splash = new SplashScreen( pm ); - splash->show(); + SplashScreen *splash = 0; + QString splashFile = locate("data", "kdevelop/pics/kdevassistant-splash.png"); + if (!splashFile.isEmpty()) + { + QPixmap pm; + pm.load(splashFile); + splash = new SplashScreen( pm ); + } + if (splash) splash->show(); app.processEvents(); QObject::connect(PluginController::getInstance(), SIGNAL(loadingPlugin(const QString &)), splash, SLOT(showMessage(const QString &))); - splash->message( i18n( "Loading Settings" ) ); + if (splash) splash->message( i18n( "Loading Settings" ) ); TopLevel::getInstance()->loadSettings(); PluginController::getInstance()->loadInitialPlugins(); - splash->message( i18n( "Starting GUI" ) ); + if (splash) splash->message( i18n( "Starting GUI" ) ); //BEGIN a workaround on kmdi bug - we do not allow mainwindow to be shown until now NewMainWindow *mw = dynamic_cast<NewMainWindow*>(TopLevel::getInstance()->main()); if (mw) @@ -108,7 +113,7 @@ Core::getInstance()->doEmitCoreInitialized(); - delete splash; + if (splash) delete splash; kapp->dcopClient()->registerAs("kdevassistant"); *** Bug 110336 has been marked as a duplicate of this bug. *** *** Bug 114393 has been marked as a duplicate of this bug. *** |