| 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 First Reported In: | unspecified | ||
| Target Milestone: | --- | ||
| Platform: | Debian testing | ||
| OS: | Linux | ||
| Latest Commit: | Version Fixed/Implemented In: | ||
| Sentry Crash Report: | |||
|
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. *** |