summaryrefslogtreecommitdiffstats
path: root/src/corelib/plugin
Commit message (Collapse)AuthorAgeFilesLines
* Avoid repeatedly trying to load unloadable plugins, causing slownessaavit2012-01-311-2/+7
| | | | | | | | | | | | | | In certain uncommon situations, where different Qt versions are used on the same system, the plugin caching optimization may identify a dll as a valid plugin, even though it will later fail to load. This fix will avoid that Qt repeatdly tries to reopen such dlls, something which caused a significant performance hit in these cases. E.g. where Qt would unsuccessfully try to load a number of KDE image format plugins for every image loading operation. Task-number: QTBUG-10066 Reviewed-by: thiago Reviewed-by: janarve
* Fix to allow upper- and lowercase .dll suffix on windowsZeno Albisser2012-01-311-2/+2
| | | | | | | This fix is needed since windows uses case insensitive filesystems. Reviewed-by: Joao Task-number: QTBUG-10305
* Adjust handling of library .bundle on MacZeno Albisser2012-01-311-4/+8
| | | | | | | | | QLibrary::isLibrary() returns true for files with the sufix .bundle. But we did not use to determine the proper library within the bundle in that case. Reviewed-by: Fabien Freling Task-number: QTBUG-11217
* Update licenseheader text in source filesJyri Tahtela2011-05-1316-265/+265
| | | | | | | Updated version of LGPL and FDL licenseheaders. Apply release phase licenseheaders for all source files. Reviewed-by: Trust Me
* Doc: Ensured that code snippets have appropriate file names.David Boddie2011-02-081-4/+4
| | | | | This helps them to be marked up correctly in cases where code markers are available.
* Update copyright year to 2011.Jason McDonald2011-01-1016-16/+16
| | | | Reviewed-by: Trust Me
* Merge commit 'doc-team/4.7' into 4.7Morten Engvoldsen2010-10-062-7/+7
|\
| * Merge branch '4.7-upstream' into 4.7-docA-Team2010-10-042-0/+9
| |\
| * | Doc: Fixed the in-repository licenses for the documentation.David Boddie2010-10-041-5/+5
| | | | | | | | | | | | | | | | | | In the repository, we should always use the No Commercial license alongside the GNU Free Documentation License for documentation files.
| * | Doc: Made a number of fixes to the documentation.David Boddie2010-10-041-2/+2
| | |
* | | Fix performance regression in QUuid::createUuid()Bradley T. Hughes2010-10-051-25/+42
| |/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | After commit 4363d4eebce4afd2ce3b3d6da205f8037357099a, createUuid() would create a QFile, open it, read from it, and destroy it. This resulted in a pretty serious performance regression (report says around 2000 times slower, I measured 3600 times slower on my machine). This change creates one QFile per thread (since QFile is not thread safe) and leaves the file open until the thread exits (at which point QThreadStorage deletes the QFile). This approach is around 600 times faster than the current code, which is around 6 times slower than the original. Unfortunately, it is not possible to restore the original performance without reintroducing the problems that the commit mentioned above had fixed. Benchmark is included. Task-number: QTBUG-13877 Reviewed-by: thiago Reviewed-by: mgoetz
* | Build fix for -qtnamespace.Leandro Melo2010-09-302-0/+9
|/ | | | Reviewed-by: Thiago Macieira
* I18n: Fix some lupdate warnings.Friedemann Kleint2010-09-141-2/+2
|
* Use QFactoryLoader to ensure we get the correct graphics system plugin.Samuel Rødal2010-09-102-0/+12
| | | | Also, this prevents hard-coding the path to the meego plugin.
* Merge remote branch 'origin/4.6' into qt-4.7-from-4.6Thiago Macieira2010-09-073-2/+247
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: qmake/Makefile.win32 src/corelib/io/qfsfileengine_win.cpp src/corelib/kernel/qeventdispatcher_win.cpp src/gui/dialogs/qfiledialog_win.cpp src/gui/inputmethod/qcoefepinputcontext_s60.cpp src/gui/text/qfontdatabase_win.cpp src/gui/util/qsystemtrayicon_win.cpp src/script/utils/qscriptdate.cpp tests/auto/qinputcontext/tst_qinputcontext.cpp tests/auto/qscriptengine/tst_qscriptengine.cpp
| * Add missing license headerJan-Arve Sæther2010-09-062-0/+82
| | | | | | | | Task-number: QT-3825
| * Compile fix WinCEJan-Arve Sæther2010-09-032-5/+14
| | | | | | | | Task-number: QT-3825
| * Ensure that we load system libraries from the correct location.Jan-Arve Sæther2010-09-033-2/+156
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This was a security hole that has been there for a while, but the public awareness have recently rised so the threat is more imminent now. The solution is to fix all places where we dynamically load system libraries. More specifically, we now load all system libraries with an absolute path that points to a library in the system directory (usually c:\windows\system32). We therefore introduce a small class named QSystemLibrary that only loads libraries located in the system path. This shares some of the API with QLibrary (in order to make the patch as small as possible). We don't fix QLibrary due to risk of regressions. In addition, applications can fix the code that calls QLibrary themselves. The problem does not apply to Windows CE, since the search order is documented as not searching in the current directory. However, it touches some CE-specific code - therefore QSystemLibrary is sometimes used on WinCE (however, it will just do a normal LoadLibrary() since its safe anyway). This change does not affect the testability plugin (it is not clearly documented where that plugin is located, and the plugin should never be used in production code anyway) Loading OpenSSL libraries The ssl libraries are handled specially, and searched in this order (we cannot expect them to always be in the system folder): 1. Application path 2. System libraries path 3. Trying all paths inside the PATH environment variable Task-number: QT-3825 Reviewed-by: Thiago Macieira Reviewed-by: Peter Hartmann
* | Merge branch '4.7' of scm.dev.nokia.troll.no:qt/oslo-staging-2 into ↵Qt Continuous Integration System2010-08-271-43/+5
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4.7-integration * '4.7' of scm.dev.nokia.troll.no:qt/oslo-staging-2: (374 commits) Add a test for the QPen::brush() != Qt::NoBrush for a Qt::NoPen pen. Calling QPen::brush() on a Qt::NoPen pen, should return QBrush::NoBrush. use QFile:map instead of ::mmap Do not use global static const references to objects Revert "Refactor blend_transformed_bilinear to simplify the blend type checking" Don't rely on mapFromGlobal in QGraphicsScenePrivate::itemsAtPosition. Refactor blend_transformed_bilinear to simplify the blend type checking Note RTL behavior changes in docs and changelog Implement qt_memfill32 with Neon. Implement the composition mode Plus with Neon. Fix the broken unicode detection of ODBC driver. Doc: Fixed qdoc warnings. Doc: updating getting started docs - not finished Make it possible again to build Qt without webkit Doc: fixing creator bugs, removing menus and textbox in the header Fixing qdoc index file...Commit hack to work around the massive amounts of dependencies in the upstream branch. Doc: Fixing overlapping text in header list Use Ctrl rather than Alt for switching tabs in the demo browser Doc: add link to new gettings started to index.html Doc: Fixing bug involving header misplacement in Creator style ...
| * | use QFile:map instead of ::mmapArvid Ephraim Picciani2010-08-261-43/+5
| | | | | | | | | | | | Reviewed-by: janarve
* | | Introduce a second compatibility build key to Qt.Thiago Macieira2010-08-241-1/+4
|/ / | | | | | | | | | | | | | | | | | | | | Some compilers are compatible with one another. In particular, the Intel CC on Unix systems is compatible with g++ on the same system. We should be saving the ABI "name" in the build key, not the compiler name, but it's too late for that. Choose "g++-{VERSION}" as the standard ABI name and make ICC support that. Reviewed-by: Bradley T. Hughes
* | Merge remote branch 'origin/4.6' into qt-4.7-from-4.6Thiago Macieira2010-07-151-6/+25
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: bin/syncqt src/3rdparty/webkit/VERSION src/3rdparty/webkit/WebCore/ChangeLog src/3rdparty/webkit/WebCore/bridge/qt/qt_instance.cpp src/3rdparty/webkit/WebCore/bridge/qt/qt_runtime.h src/3rdparty/webkit/WebCore/page/FrameView.cpp src/3rdparty/webkit/WebCore/page/FrameView.h src/3rdparty/webkit/WebCore/platform/ScrollView.cpp src/3rdparty/webkit/WebCore/platform/ScrollView.h src/corelib/plugin/quuid.cpp src/gui/dialogs/qfontdialog.cpp src/multimedia/audio/qaudiodevicefactory.cpp src/opengl/qgl.cpp src/openvg/qpaintengine_vg.cpp tests/auto/qxmlquery/tst_qxmlquery.cpp
| * Compile when bootstrapping qmakeBradley T. Hughes2010-07-131-4/+12
| | | | | | | | | | | | | | QThreadStorage is not available when bootstrapping qmake, so fall back to a simple static bool instead. Reviewed-by: TrustMe
| * Fix regression in tst_qrand::testqrand()Bradley T. Hughes2010-07-131-0/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | qrand() has seeded with a default value of 1 for quite a long time, and is checked by the test mentioned above. The previous commit to change the default seed value must be reverted to keep compatibility. Change qrand() and qsrand() back to the way they were in 4.5. This fixes the qrand() regression. Change QUuid::createUuid() to seed exactly once per thread, which is a change from 4.5, where QUuid would see only once per application. This solves the original bug, QTBUG-3543, where multiple threads would generate the same UUID sequences. This also fixes the regression reported in QTBUG-11213, where seeding did not happen in certain cases. Reviewed-by: Prasanth Ullattil
| * CompileBradley T. Hughes2010-07-081-0/+1
| | | | | | | | | | | | Re-add the stdlib.h include, since it brings in RAND_MAX Reviewed-by: TrustMe
| * QUUid::createUuid() should not generate identical sequences on UNIXBradley T. Hughes2010-07-081-8/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | An unintended side-effect of commit 90a082c9076f35dcca092ade019891e92692710e is that if qrand() is used without being seeded first, then createUuid() would always generate the same sequence. This quite likely to happen considering the Qt does not actually seed the PRNG, but does use it in many places (we do not call qsrand(), but we do often call qrand()). Fix this by changing qrand() to calculate a seed, instead of defaulting to 1. This allows us to remove the qsrand() overload with no arguments, since qrand() will now seed automatically unless manually seeded by the programmer. Task-number: QTBUG-11213 Reviewed-by: thiago
* | Merge branch '4.7' of scm.dev.nokia.troll.no:qt/oslo-staging-1 into 4.7David Boddie2010-06-211-23/+35
|\ \
| * | Allow Unix to generate unique UUIDs if /dev/urandom exists.Darin Broady2010-06-211-23/+35
| | | | | | | | | | | | | | | Merge-request: 629 Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
* | | Doc: Relicensed the documentation under the GNU FDL version 1.3.David Boddie2010-06-211-25/+11
|/ / | | | | | | | | Reviewed-by: Trust Me Requested-by: Legal
* | Fix QT_NO_LIBRARYTasuku Suzuki2010-04-292-2/+2
| | | | | | | | | | | | | | | | | | Some class uses QFactoryLoader without checking if QT_NO_LIBRARY is not defined. Remove QT_NO_SETTINGS used with QT_NO_LIBRARY for QFactoryLoader because LIBRARY depends on SETTINGS. Merge-request: 578 Reviewed-by: Thierry Bastian <thierry.bastian@nokia.com>
* | Reapply 69e873e2bfae3fc028c21d93112a75008c3bb58b now that QLibrary is fixedThiago Macieira2010-04-041-1/+1
| | | | | | | | | | | | | | | | | | It was: " Avoid a data relocation by not trying to store a pointer in the .data section of plugins. Reviewed-By: Rohan McGovern "
* | [plugins] Don't conclude that a .debug file is a plugin.Thiago Macieira2010-04-031-0/+14
| | | | | | | | | | | | | | | | | | | | | | On Unix systems (that are not Mac), the Qt buildsystem splits the code from the debug symbols using objcopy. The resulting .debug file contains a valid ELF header, with a copy of the main library's section headers. But the contents of those sections are missing. When we try to dlopen(3) those libraries, libdl crashes. So we shouldn't try to open those files.
* | Merge remote branch 'origin/4.6' into qt-master-from-4.6Olivier Goffart2010-02-041-0/+1
|\ \ | |/ | | | | | | | | | | | | | | Conflicts: examples/assistant/simpletextviewer/findfiledialog.cpp qmake/generators/symbian/symmake.cpp tools/assistant/lib/qhelpgenerator.cpp tools/assistant/lib/qhelpsearchquerywidget.cpp translations/translations.pri
| * Added some missing documentation.axis2010-02-021-0/+1
| |
* | Merge branch '4.6'Thiago Macieira2010-01-1314-14/+14
|\ \ | |/ | | | | | | | | | | | | | | | | | | Conflicts: bin/syncqt doc/src/deployment/deployment.qdoc src/corelib/io/qfsfileengine_win.cpp src/corelib/xml/qxmlstream.cpp src/opengl/gl2paintengineex/qpaintengineex_opengl2_p.h tools/assistant/tools/assistant/centralwidget.cpp tools/linguist/lupdate/main.cpp
| * Update copyright year to 2010Jason McDonald2010-01-0614-14/+14
| | | | | | | | Reviewed-by: Trust Me
* | Merge commit 'oslo-staging-1/4.6' into master-mainlineRichard Moe Gustavsen2009-12-041-1/+1
|\ \ | |/
| * Don't look at the patch-level number when loading plugins.Thiago Macieira2009-12-021-1/+1
| | | | | | | | | | | | | | | | Qt claims that it maintains forwards and backwards binary compatibility within the same Qt minor series. So it should be safe to load a plugin built with Qt 4.6.2 on Qt 4.6.1. Reviewed-by: Bradley T. Hughes
* | Fix plugin mis-caching issues with universal binaries on MacMorten Johan Sørvig2009-11-251-0/+16
|/ | | | | | | Add the current application architecture to the cache key in order to cache plugin information separately for each arch. This prevents Qt from wrongly caching plugin load failures when the archs don't match.
* QLibrary on Windows: Do not show error boxes when library load failsPeter Hartmann2009-10-271-0/+3
| | | | | | | | | When loading a library fails, the error message "The application or DLL ... is not a valid Windows image. Please check this against your installation diskette." is shown, which is not very helpful. Task-number: QT-2357 Reviewed-by: Marius Storm-Olsen
* QUuid::createUuid() not unique when using threads on UnixBradley T. Hughes2009-10-121-4/+9
| | | | | | | | | | | | | | | QUuid::createUuid() only seeds the PRNG on the first entry, but since it's using qsrand() and qrand(), all other threads will use the default seed, and thus generate the exact same UUIDs. Fix this by adding an internal function (qsrand() overload with no args) which seeds the PRNG if it hasn't been done already, and use a seed that is based on current time, a stack address and a global serial counter (so that the chances of 2 threads using the same seed are as low as possible). Task-number: QTBUG-3543 Reviewed-by: Marius Storm-Olsen
* Merge branch '4.6' of git@scm.dev.troll.no:qt/qt into 4.6Miikka Heikkinen2009-09-1014-56/+56
|\
| * Update license headers again.Jason McDonald2009-09-0914-56/+56
| | | | | | | | Reviewed-by: Trust Me
* | Fixed various PlatSec violations when app had no AllFiles capability.Miikka Heikkinen2009-09-101-1/+14
|/ | | | | | | | | | Fixed QtCore in various places that caused Platform Security violations in Symbian if AllFiles capability was missing from the application. All of these these were caused by trying to access /private folder unnecessarily, either by Qt code or Open C. Task-number: 249008 Reviewed-by: Janne Koskinen
* Merge branch '4.5' into 4.6Thiago Macieira2009-08-3114-182/+182
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: demos/boxes/glshaders.cpp demos/boxes/vector.h demos/embedded/fluidlauncher/pictureflow.cpp demos/embedded/fluidlauncher/pictureflow.h doc/src/desktop-integration.qdoc doc/src/distributingqt.qdoc doc/src/examples-overview.qdoc doc/src/examples.qdoc doc/src/frameworks-technologies/dbus-adaptors.qdoc doc/src/geometry.qdoc doc/src/groups.qdoc doc/src/objecttrees.qdoc doc/src/platform-notes.qdoc doc/src/plugins-howto.qdoc doc/src/qt3support.qdoc doc/src/qtdbus.qdoc doc/src/qtdesigner.qdoc doc/src/qtgui.qdoc doc/src/qtmain.qdoc doc/src/qtopengl.qdoc doc/src/qtsvg.qdoc doc/src/qtuiloader.qdoc doc/src/qundo.qdoc doc/src/richtext.qdoc doc/src/topics.qdoc src/corelib/tools/qdumper.cpp src/gui/embedded/qkbdpc101_qws.cpp src/gui/embedded/qkbdsl5000_qws.cpp src/gui/embedded/qkbdusb_qws.cpp src/gui/embedded/qkbdvr41xx_qws.cpp src/gui/embedded/qkbdyopy_qws.cpp src/gui/embedded/qmousebus_qws.cpp src/gui/embedded/qmousevr41xx_qws.cpp src/gui/embedded/qmouseyopy_qws.cpp src/gui/painting/qpaintengine_d3d.cpp src/gui/painting/qwindowsurface_d3d.cpp src/opengl/gl2paintengineex/glgc_shader_source.h src/opengl/gl2paintengineex/qglpexshadermanager.cpp src/opengl/gl2paintengineex/qglpexshadermanager_p.h src/opengl/gl2paintengineex/qglshader.cpp src/opengl/gl2paintengineex/qglshader_p.h src/opengl/util/fragmentprograms_p.h src/plugins/kbddrivers/linuxis/linuxiskbdhandler.cpp src/plugins/mousedrivers/linuxis/linuxismousehandler.cpp src/script/parser/qscript.g src/script/qscriptarray_p.h src/script/qscriptasm_p.h src/script/qscriptbuffer_p.h src/script/qscriptclass.cpp src/script/qscriptclassdata_p.h src/script/qscriptcompiler.cpp src/script/qscriptcompiler_p.h src/script/qscriptcontext.cpp src/script/qscriptcontext_p.cpp src/script/qscriptcontext_p.h src/script/qscriptcontextfwd_p.h src/script/qscriptecmaarray.cpp src/script/qscriptecmaarray_p.h src/script/qscriptecmaboolean.cpp src/script/qscriptecmacore.cpp src/script/qscriptecmadate.cpp src/script/qscriptecmadate_p.h src/script/qscriptecmaerror.cpp src/script/qscriptecmaerror_p.h src/script/qscriptecmafunction.cpp src/script/qscriptecmafunction_p.h src/script/qscriptecmaglobal.cpp src/script/qscriptecmaglobal_p.h src/script/qscriptecmamath.cpp src/script/qscriptecmamath_p.h src/script/qscriptecmanumber.cpp src/script/qscriptecmanumber_p.h src/script/qscriptecmaobject.cpp src/script/qscriptecmaobject_p.h src/script/qscriptecmaregexp.cpp src/script/qscriptecmaregexp_p.h src/script/qscriptecmastring.cpp src/script/qscriptecmastring_p.h src/script/qscriptengine.cpp src/script/qscriptengine_p.cpp src/script/qscriptengine_p.h src/script/qscriptenginefwd_p.h src/script/qscriptextenumeration.cpp src/script/qscriptextenumeration_p.h src/script/qscriptextqobject.cpp src/script/qscriptextqobject_p.h src/script/qscriptextvariant.cpp src/script/qscriptfunction.cpp src/script/qscriptfunction_p.h src/script/qscriptgc_p.h src/script/qscriptmember_p.h src/script/qscriptobject_p.h src/script/qscriptprettypretty.cpp src/script/qscriptprettypretty_p.h src/script/qscriptvalue.cpp src/script/qscriptvalueimpl.cpp src/script/qscriptvalueimpl_p.h src/script/qscriptvalueimplfwd_p.h src/script/qscriptvalueiteratorimpl.cpp src/script/qscriptxmlgenerator.cpp src/script/qscriptxmlgenerator_p.h tests/auto/linguist/lupdate/testdata/recursivescan/project.ui tests/auto/linguist/lupdate/testdata/recursivescan/sub/finddialog.cpp tests/auto/qkeyevent/tst_qkeyevent.cpp tools/linguist/shared/cpp.cpp
| * Update tech preview license header.Jason McDonald2009-08-3113-169/+169
| | | | | | | | Reviewed-by: Trust Me
| * Update license headers.Jason McDonald2009-08-1113-13/+13
| | | | | | | | Reviewed-by: Trust Me
* | Fix crash at program exit: Q_GLOBAL_STATIC is zeroed.Thiago Macieira2009-08-211-1/+2
| | | | | | | | | | | | | | When libraryData() is 0, &libraryData()->map is 0x4. So make sure we return 0 if libraryData() is null too. Reviewed-by: TrustMe
* | Merge branch 'master' of git@scm.dev.nokia.troll.no:qt/qt into master-s60axis2009-08-211-7/+22
|\ \ | | | | | | | | | | | | | | | | | | Conflicts: src/corelib/io/qfsfileengine_unix.cpp src/corelib/plugin/qlibrary.cpp tests/auto/qfileinfo/tst_qfileinfo.cpp
| * | Speed up plugin loading by not constructing a new QSettings each time.Jan-Arve Sæther2009-08-211-8/+22
| | | | | | | | | | | | | | | | | | | | | This should benefit the platforms with slow QSettings, esp. Linux. Task-number: 243398 Reviewed-by: brad