summaryrefslogtreecommitdiffstats
path: root/src/corelib/kernel/qobject.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Change to commercial license headers in preparation for release.Jason McDonald2010-09-071-13/+13
| | | | Reviewed-by: Trust Me
* doc: Fixed many broken links.Martin Smith2010-05-191-10/+10
|
* Optimize ~QObjectOlivier Goffart2010-04-211-15/+11
| | | | | | | | | | | | | | | | | | | | By avoiding to lock mutextes when not needed. According to experiment, many object are destroyed without any connection attached to them. (80% with qml, 50% with creator) d->currentSender does not need to be protected by the mutex since we are in the destructor. We do not need Q_TRY since the mutex is grenteed to exist if there is connections. We do not need to call QCoreApplication::removePostedEvents if there is not events to process. And d->postedEvents can be checked outside of the lock since it cannot be incremented anymore in the destructor Reviewed-by: Roberto Raggi Reviewed-by: Brad
* Optimize QMetaObject::activateOlivier Goffart2010-04-201-24/+3
| | | | | | Mainly by inlining what should be inlined Reviewed-by: Thiago
* Rename QDeclarativeData -> QAbstractDeclarativeDataAaron Kennedy2010-04-151-4/+4
| | | | Reviewed-by: Martin Jones
* Merge branch '4.7' of scm.dev.nokia.troll.no:qt/qt-qml into 4.7Aaron Kennedy2010-04-071-1/+1
|\
| * Merge remote branch 'origin/4.7' into 4.7Olivier Goffart2010-04-011-9/+0
| |\ | | | | | | | | | | | | Conflicts: src/gui/text/qstatictext.cpp
| * | Fix wrong arguments order in a warning in QObject::moveToThreadOlivier Goffart2010-03-251-1/+1
| | | | | | | | | | | | Task-number: QTBUG-8478
* | | Optimization: Improve allocation strategy for QDeclarativeDeclarativeDataAaron Kennedy2010-04-011-3/+5
| |/ |/| | | | | This improves the declarative/creation/itemtree_qml benchmark by 6%
* | Remove QGuard.Thiago Macieira2010-03-261-9/+0
|/ | | | | | | This class is no longer in use by QtDeclarative. Task-number: QT-3031 Reviewed-by: Bradley T. Hughes
* Integrate QML's object ownership with the JS collectorAaron Kennedy2010-03-091-0/+2
| | | | | | | QML now behaves in a way similar to QtScript when it comes to QObject ownership. QT-2803
* Merge remote branch 'origin/4.6' into qt-4.7-from-4.6Rohan McGovern2010-03-061-7/+10
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: configure.exe examples/multimedia/audioinput/audioinput.cpp src/corelib/io/qfsfileengine.cpp src/gui/egl/qegl_wince.cpp src/gui/egl/qeglproperties.cpp src/gui/egl/qeglproperties_p.h src/gui/embedded/directfb.pri src/gui/kernel/qapplication_win.cpp src/gui/painting/qdrawutil.cpp src/opengl/qgl_p.h src/sql/drivers/odbc/qsql_odbc.cpp src/sql/drivers/odbc/qsql_odbc.h tests/auto/auto.pro tests/auto/qgl/tst_qgl.cpp translations/assistant_adp_ru.ts
| * QObject: fix crash when deleteing the receiver object withing a ↵Olivier Goffart2010-03-011-7/+10
| | | | | | | | | | | | | | | | | | DirectConncetion involving two threads. We did not set the sender(), but we tried to reset it anyway. Task-number: QTBUG-7935 Reviewed-by: Brad
* | be more verbose when warning about incompatible librariesHarald Fernengel2010-03-031-1/+2
| |
* | Merge branch '4.6'Thiago Macieira2010-01-211-5/+23
|\ \ | |/ | | | | | | Conflicts: tools/assistant/lib/qhelpsearchquerywidget.cpp
| * QMetaObject::disconnectOne()Aaron Kennedy2010-01-201-5/+23
| | | | | | | | | | | | | | | | Adds a disconnectOne() method that allows a single signal/slot connection to be disconnected, as required by QTBUG-6781. Reviewed-by: Warwick Allison Reviewed-by: Olivier Goffart
* | Merge branch '4.6'Thiago Macieira2010-01-131-2/+2
|\ \ | |/ | | | | | | | | | | | | | | | | | | 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
| * doc: Updated the descriptions of the connection types.Martin Smith2010-01-121-1/+1
| | | | | | | | | | | | | | | | Replaced the ambiguous "delivered" with the explanation that the blocking queued connection type blocks the emitter's thread until the slot finishes executing in the receiver's thread. Task-number: QTBUG-6392
| * Update copyright year to 2010Jason McDonald2010-01-061-1/+1
| | | | | | | | Reviewed-by: Trust Me
* | Merge branch '4.6'Thiago Macieira2009-12-261-27/+31
|\ \ | |/ | | | | | | | | | | Conflicts: examples/webkit/fancybrowser/main.cpp src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp tools/assistant/tools/assistant/bookmarkmanager.cpp
| * doc: Added a missing \sa command, plus a \l in the text.Martin Smith2009-12-181-7/+8
| | | | | | | | Task-number: QTBUG-6288
| * Fix QMetaObject::connect and disconnect with "dynamic signals"Olivier Goffart2009-12-141-20/+23
| | | | | | | | | | | | | | | | QML might pass index that are larger that the method cound. We must not call QMetaObjectPrivate::originalClone in that case as this would read invalid memory Reviewed-by: brad
* | Merge commit 'origin/4.6'Olivier Goffart2009-12-151-15/+3
|\ \ | |/ | | | | | | | | | | Conflicts: src/corelib/io/qfsfileengine.cpp src/network/access/qnetworkrequest.cpp tests/auto/qgraphicswidget/tst_qgraphicswidget.cpp
| * Use 64bit for the connectedSignalsOlivier Goffart2009-12-091-3/+3
| | | | | | | | | | | | | | | | | | as QML objects may have lots of signals Do not use quint64 as it would produce lots of useless padding on MSVC 32bit Reviewed-by: Brad
| * Revert "Compile fix for win32-icc."Jan-Arve Sæther2009-11-301-12/+0
| | | | | | | | This reverts commit db5e4496229a776768464d1d3d2e1f8e81bd6ba0.
* | Small optimisations in ~QObjectOlivier Goffart2009-12-081-4/+6
| | | | | | | | | | | | | | | | Avoid calling signalSlotMutex while there is a very small probability that the node will be different or that the mutex are the same for two different object. Reviewed-by: brad
* | Disable some code in normal build.Olivier Goffart2009-12-081-1/+1
| | | | | | | | | | | | | | Q_AUTOTEST_EXPORT is always defined. (it is defined empty if not internal build) Reviewed-by: Brad
* | Merge branch '4.6'Thiago Macieira2009-12-021-40/+7
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/corelib/global/qglobal.h src/gui/dialogs/qfiledialog_win.cpp src/plugins/qpluginbase.pri src/qbase.pri tests/auto/selftests/expected_cmptest.txt tests/auto/selftests/expected_crashes_3.txt tests/auto/selftests/expected_longstring.txt tests/auto/selftests/expected_maxwarnings.txt tests/auto/selftests/expected_skip.txt tools/assistant/tools/assistant/doc/assistant.qdocconf tools/qdoc3/test/assistant.qdocconf tools/qdoc3/test/designer.qdocconf tools/qdoc3/test/linguist.qdocconf tools/qdoc3/test/qmake.qdocconf tools/qdoc3/test/qt-build-docs.qdocconf tools/qdoc3/test/qt.qdocconf
| * Optimize QObjectPrivate::isSignalConnectedOlivier Goffart2009-11-261-40/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | It can be seen in the GraphicsView benchmark. This function has to be as fast as possible. Make the function inline. We do not need 64bit for the connectedSignals bit array because it is very unlikely that an object will have more than 32 signals. (In Qt 4.5 it could have hapenned as the slot were counting in the index) Reviewed-by: bnilsen Reviewed-by: Brad
| * Compile fix for win32-icc.Jan-Arve Sæther2009-11-231-0/+12
| | | | | | | | | | | | | | | | | | The Intel Compiler inlined the destructor of QObjectPrivate too agressively, causing it to generate a call to ~QObjectData for QtGui. ~QObjectData is not exported from QtCore, so it failed linking. Task-number: QTBUG-5145 Reviewed-by: Alexis Menard
* | Fix certain type-const-ref syntax not recognized by normalizedSignature()Bradley T. Hughes2009-11-301-11/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Normally, const Type & is normalized to just Type, but this didn't work for Template<T>const& or Type*const& types. This now works as expected. However, this changes the way these types are normalized, and existing code using the old syntax will break. We can prevent this breakage by also normalizing the method signature in the metaobject when looking up signals and slots in QObject::connect(). I have added an autotest for this, which includes moc output generated by Qt 4.6's moc. This means we need to bump the metaobject revision number even though we are not adding any new data (only changing the normalized strings we store). Task-number: QTBUG-2407 Task-number: QTBUG-3722 Reviewed-by: ogoffart
* | Compile fix for win32-icc.Jan-Arve Sæther2009-11-241-0/+12
|/ | | | | | | | | | The Intel Compiler inlined the destructor of QObjectPrivate too agressively, causing it to generate a call to ~QObjectData for QtGui. ~QObjectData is not exported from QtCore, so it failed linking. Task-number: QTBUG-5145 Reviewed-by: Alexis Menard (cherry picked from commit db5e4496229a776768464d1d3d2e1f8e81bd6ba0)
* Merge branch '4.6' of git@scm.dev.nokia.troll.no:qt/qt-doc-team into 4.6David Boddie2009-11-031-128/+18
|\ | | | | | | | | | | Conflicts: src/gui/kernel/qevent.cpp src/network/ssl/qsslerror.cpp
| * Doc: i18n overhaul for QObject::tr() and the Qt Linguist manual.David Boddie2009-11-021-128/+18
| | | | | | | | Reviewed-by: Trust Me
* | Let QGraphicsItem set QObjectPrivate::wasDeleted when appropriate.Andreas Aardal Hanssen2009-10-281-7/+0
|/ | | | | | | | | | | | | | | This change allows children of QGraphicsObject-derived classes to check if the parent is being deleted by checking the private flag wasDeleted. Reverts 37b16d5cbb4e7bc534f690ebf50434d228b5ecfc, p4 change 9681, to allow QGraphicsItem to set QObjectPrivate's wasDeleted member before entering QObjectPrivate's destructor. The original code was in there to let the user know, via the console output, that QObject was double-deleted (e.g., when placing QObject on the stack, and also giving it a parent, so that if the parent is deleted first, bang). Reviewed-by: Aaron Kennedy Reviewed-by: Bradley T. Hughes
* QMetaObject::activate: reordered mutex locks/unlocks around spyFlorian Vichot2009-10-131-2/+3
| | | | | | | | Always call the callbacks unlocked to avoid deadlocks. (The others call to the callback ar unlocked) Reviewed-by: Olivier Goffart Merge-request: 1744
* Move QGuard to the ExtraDataOlivier Goffart2009-09-161-11/+7
| | | | | | | not every QObject need a pointer to the QGuard while none of them will usually use it (it is private API) Reviewed-by: Thiago
* Fix the signal output in QObject::dumpObjectInfoOlivier Goffart2009-09-101-1/+1
| | | | | | | | The computation of the offset was wrong. (The offset is the difference between the method index, and the signal index) Reviewed-by: trustme
* Update license headers again.Jason McDonald2009-09-091-4/+4
| | | | Reviewed-by: Trust Me
* Doc: Added info on Q_FLAGS() by providing an example with more context.David Boddie2009-09-041-3/+11
| | | | | Reviewed-by: Trust Me As-seen-on: qt-interest
* Don't check for null if never happens, but test it if it may...João Abecasis2009-09-011-4/+4
| | | | | | Making coverity happy. Reviewed-by: Olivier Goffart
* Merge branch '4.5' into 4.6Thiago Macieira2009-08-311-13/+13
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-311-13/+13
| | | | | | | | Reviewed-by: Trust Me
| * Update license headers.Jason McDonald2009-08-111-1/+1
| | | | | | | | Reviewed-by: Trust Me
* | QMetaObjectPrivate: refactor internal disconnect to avoid duplicate codeLeonardo Sobral Cunha2009-08-281-48/+43
| | | | | | | | Reviewed-by: ogoffart
* | Whitespaces & indentation cleanup in qobjectLeonardo Sobral Cunha2009-08-281-24/+25
| | | | | | | | Reviewed-by: trustme
* | doc: Fixed several qdoc errors.Martin Smith2009-08-281-6/+8
| |
* | Doc: Corrected incorrect snippets and info in inherits() documentation.David Boddie2009-08-261-4/+3
| | | | | | | | | | Task-number: 201882 Reviewed-by: Trust Me
* | Fixed compilation on gcc 3.3 and mutex locker lifetimeThorbjørn Lindeijer2009-08-261-1/+1
| | | | | | | | | | | | | | This fixes the lifetime of the mutex locker, since before it would already be destroyed on the next line. Reviewed-by: Olivier Goffart <olivier.goffart@trolltech.com>
* | QMetaObject: Crashes with dbus that tries to connect to all signalsOlivier Goffart2009-08-211-12/+20
| | | | | | | | | | | | | | The compatibility method QMetaObject::connect did not handle the signal_index = -1 to connect to all signal Reviewed-by: Thiago