diff options
Diffstat (limited to 'src/corelib/kernel/qcoreevent.cpp')
-rw-r--r-- | src/corelib/kernel/qcoreevent.cpp | 42 |
1 files changed, 23 insertions, 19 deletions
diff --git a/src/corelib/kernel/qcoreevent.cpp b/src/corelib/kernel/qcoreevent.cpp index bf227ecf02..9c99530268 100644 --- a/src/corelib/kernel/qcoreevent.cpp +++ b/src/corelib/kernel/qcoreevent.cpp @@ -3,6 +3,7 @@ // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only #include "qcoreevent.h" +#include "qcoreevent_p.h" #include "qcoreapplication.h" #include "qcoreapplication_p.h" @@ -14,6 +15,9 @@ QT_BEGIN_NAMESPACE +Q_TRACE_POINT(qtcore, QEvent_ctor, QEvent *event, QEvent::Type type); +Q_TRACE_POINT(qtcore, QEvent_dtor, QEvent *event, QEvent::Type type); + /*! \class QEvent \inmodule QtCore @@ -75,6 +79,8 @@ QT_BEGIN_NAMESPACE \value ChildAdded An object gets a child (QChildEvent). \value ChildPolished A widget child gets polished (QChildEvent). \value ChildRemoved An object loses a child (QChildEvent). + \value [since 6.7] ChildWindowAdded A child window was added to the window. + \value [since 6.7] ChildWindowRemoved A child window was removed from the window. \value Clipboard The clipboard contents have changed. \value Close Widget was closed (QCloseEvent). \value CloseSoftwareInputPanel A widget wants to close the software input panel (SIP). @@ -82,6 +88,8 @@ QT_BEGIN_NAMESPACE \value ContextMenu Context popup menu (QContextMenuEvent). \value CursorChange The widget's cursor has changed. \value DeferredDelete The object will be deleted after it has cleaned up (QDeferredDeleteEvent) + \value [since 6.6] DevicePixelRatioChange + The devicePixelRatio has changed for this widget's or window's underlying backing store. \value DragEnter The cursor enters a widget during a drag and drop operation (QDragEnterEvent). \value DragLeave The cursor leaves a widget during a drag and drop operation (QDragLeaveEvent). \value DragMove A drag and drop operation is in progress (QDragMoveEvent). @@ -154,8 +162,12 @@ QT_BEGIN_NAMESPACE \value OrientationChange The screens orientation has changes (QScreenOrientationChangeEvent). \value Paint Screen update necessary (QPaintEvent). \value PaletteChange Palette of the widget changed. - \value ParentAboutToChange The widget parent is about to change. - \value ParentChange The widget parent has changed. + \value ParentAboutToChange The object parent is about to change. + Only sent to some object types, such as QWidget. + \value ParentChange The object parent has changed. + Only sent to some object types, such as QWidget. + \value [since 6.7] ParentWindowAboutToChange The parent window is about to change. + \value [since 6.7] ParentWindowChange The parent window has changed. \value PlatformPanel A platform specific panel has been requested. \value PlatformSurface A native platform surface has been created or is about to be destroyed (QPlatformSurfaceEvent). \omitvalue Pointer @@ -264,7 +276,7 @@ QEvent::QEvent(Type type) : t(type), m_reserved(0), m_inputEvent(false), m_pointerEvent(false), m_singlePointEvent(false) { - Q_TRACE(QEvent_ctor, this, t); + Q_TRACE(QEvent_ctor, this, type); } /*! @@ -428,8 +440,9 @@ struct QBasicAtomicBitField { QBasicAtomicInteger<uint> &entry = data[which / BitsPerInt]; const uint old = entry.loadRelaxed(); const uint bit = 1U << (which % BitsPerInt); - return !(old & bit) // wasn't taken - && entry.testAndSetRelaxed(old, old | bit); // still wasn't taken + if (old & bit) + return false; // already taken + return (entry.fetchAndOrRelaxed(bit) & bit) == 0; // don't update 'next' here - it's unlikely that it will need // to be updated, in the general case, and having 'next' @@ -506,12 +519,12 @@ int QEvent::registerEventType(int hint) noexcept started one or more timers. Each timer has a unique identifier. A timer is started with QObject::startTimer(). - The QTimer class provides a high-level programming interface that + The QChronoTimer class provides a high-level programming interface that uses signals instead of events. It also provides single-shot timers. The event handler QObject::timerEvent() receives timer events. - \sa QTimer, QObject::timerEvent(), QObject::startTimer(), + \sa QChronoTimer, QObject::timerEvent(), QObject::startTimer(), QObject::killTimer() */ @@ -629,23 +642,14 @@ Q_IMPL_EVENT_COMMON(QDynamicPropertyChangeEvent) */ /*! - Constructs a deferred delete event with an initial loopLevel() of zero. + Constructs a deferred delete event with the given loop and scope level. */ -QDeferredDeleteEvent::QDeferredDeleteEvent() - : QEvent(QEvent::DeferredDelete) - , level(0) +QDeferredDeleteEvent::QDeferredDeleteEvent(int loopLevel, int scopeLevel) + : QEvent(QEvent::DeferredDelete), m_loopLevel(loopLevel), m_scopeLevel(scopeLevel) { } Q_IMPL_EVENT_COMMON(QDeferredDeleteEvent) -/*! \fn int QDeferredDeleteEvent::loopLevel() const - - Returns the loop-level in which the event was posted. The - loop-level is set by QCoreApplication::postEvent(). - - \sa QObject::deleteLater() -*/ - QT_END_NAMESPACE #include "moc_qcoreevent.cpp" |