For a lot of command line tools, library loading is not required, so
don't waste a lot of time computing them. According to callgrind, this
makes the QCoreApplication constructor factor 6 faster, and also removes
a lot of stat() calls and other file system access.
Change-Id: I0211f5303712fa0dcfc4168cce7025283c63c9d1
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
{
#ifndef QT_NO_LIBRARY
QStringList *app_libpaths = coreappdata()->app_libpaths;
- Q_ASSERT(app_libpaths);
- QString app_location( QCoreApplication::applicationFilePath() );
+ if (!app_libpaths)
+ coreappdata()->app_libpaths = app_libpaths = new QStringList;
+ QString app_location = QCoreApplication::applicationFilePath();
app_location.truncate(app_location.lastIndexOf(QLatin1Char('/')));
app_location = QDir(app_location).canonicalPath();
if (QFile::exists(app_location) && !app_libpaths->contains(app_location))
d->threadData->eventDispatcher = QCoreApplicationPrivate::eventDispatcher;
#ifndef QT_NO_LIBRARY
- if (!coreappdata()->app_libpaths) {
- // make sure that library paths is initialized
- libraryPaths();
- } else {
+ if (coreappdata()->app_libpaths)
d->appendApplicationPathToLibraryPaths();
- }
#endif
#ifdef QT_EVAL