diff --git a/src/gui/kernel/qapplication_s60.cpp b/src/gui/kernel/qapplication_s60.cpp index 0d65811..a42eb31 100644 --- a/src/gui/kernel/qapplication_s60.cpp +++ b/src/gui/kernel/qapplication_s60.cpp @@ -66,6 +66,9 @@ #include "private/qgraphicssystem_runtime_p.h" #endif +#include +#define TRACE_QTBUG_11376 qDebug() << "[QTBUG-11376]" + #include "apgwgnam.h" // For CApaWindowGroupName #include // For CMdaAudioToneUtility @@ -353,6 +356,12 @@ QSymbianControl::QSymbianControl(QWidget *w) void QSymbianControl::ConstructL(bool isWindowOwning, bool desktop) { + TRACE_QTBUG_11376 << "QSymbianControl::ConstructL" << (void*)this + << "qwidget" << (void*)qwidget + << "qwidget->parentWidget" << (qwidget ? (void*)qwidget->parentWidget() : 0) + << "isWindowOwning" << isWindowOwning + << "desktop" << desktop; + if (!desktop) { if (isWindowOwning or !qwidget->parentWidget()) @@ -382,6 +391,9 @@ void QSymbianControl::ConstructL(bool isWindowOwning, bool desktop) QSymbianControl::~QSymbianControl() { + TRACE_QTBUG_11376 << "QSymbianControl::~QSymbianControl" << (void*)this + << "qwidget" << (void*)qwidget; + if (S60->curWin == this) S60->curWin = 0; if (!QApplicationPrivate::is_app_closing) { @@ -397,6 +409,10 @@ QSymbianControl::~QSymbianControl() void QSymbianControl::setWidget(QWidget *w) { + TRACE_QTBUG_11376 << "QSymbianControl::setWidget" << (void*)this + << "qwidget" << (void*)qwidget + << "w" << (void*)w; + qwidget = w; } void QSymbianControl::HandleLongTapEventL( const TPoint& aPenEventLocation, const TPoint& aPenEventScreenLocation ) diff --git a/src/gui/kernel/qwidget.cpp b/src/gui/kernel/qwidget.cpp index fed8d0a..4d00680 100644 --- a/src/gui/kernel/qwidget.cpp +++ b/src/gui/kernel/qwidget.cpp @@ -123,6 +123,9 @@ #include "qtabwidget.h" // Needed in inTabWidget() #endif // QT_KEYPAD_NAVIGATION +#include +#define TRACE_QTBUG_11376 qDebug() << "[QTBUG-11376]" + // widget/widget data creation count //#define QWIDGET_EXTRA_DEBUG //#define ALIEN_DEBUG @@ -172,18 +175,26 @@ QRefCountedWidgetBackingStore::QRefCountedWidgetBackingStore() QRefCountedWidgetBackingStore::~QRefCountedWidgetBackingStore() { + TRACE_QTBUG_11376 << "QRefCountedWidgetBackingStore::~QRefCountedWidgetBackingStore" << (void*)this + << "m_count" << m_count << "m_ptr" << (void*)m_ptr; delete m_ptr; } void QRefCountedWidgetBackingStore::create(QWidget *widget) { + TRACE_QTBUG_11376 << "+ QRefCountedWidgetBackingStore::create" << (void*)this + << "widget" << (void*)widget; destroy(); m_ptr = new QWidgetBackingStore(widget); + TRACE_QTBUG_11376 << "- QRefCountedWidgetBackingStore::create" << (void*)this + << "m_ptr" << (void*)m_ptr; m_count = 0; } void QRefCountedWidgetBackingStore::destroy() { + TRACE_QTBUG_11376 << "QRefCountedWidgetBackingStore::destroy" << (void*)this + << "m_count" << m_count << "m_ptr" << (void*)m_ptr; delete m_ptr; m_ptr = 0; m_count = 0; @@ -191,12 +202,16 @@ void QRefCountedWidgetBackingStore::destroy() void QRefCountedWidgetBackingStore::ref() { + TRACE_QTBUG_11376 << "QRefCountedWidgetBackingStore::ref" << (void*)this + << "m_count" << m_count << "m_ptr" << (void*)m_ptr; Q_ASSERT(m_ptr); ++m_count; } void QRefCountedWidgetBackingStore::deref() { + TRACE_QTBUG_11376 << "QRefCountedWidgetBackingStore::deref" << (void*)this + << "m_count" << m_count << "m_ptr" << (void*)m_ptr; if (m_count) { Q_ASSERT(m_ptr); if (0 == --m_count) { @@ -9831,6 +9846,10 @@ void QWidget::setWindowFlags(Qt::WindowFlags flags) if (data->window_flags == flags) return; + TRACE_QTBUG_11376 << "QWidget::setWindowFlags" << (void*)this + << "this.flags" << data->window_flags.operator int() + << "flags" << flags.operator int(); + Q_D(QWidget); if ((data->window_flags | flags) & Qt::Window) { diff --git a/src/gui/kernel/qwidget_s60.cpp b/src/gui/kernel/qwidget_s60.cpp index 2818d88..b0ec0e9 100644 --- a/src/gui/kernel/qwidget_s60.cpp +++ b/src/gui/kernel/qwidget_s60.cpp @@ -57,6 +57,9 @@ #include #endif +#include +#define TRACE_QTBUG_11376 qDebug() << "[QTBUG-11376]" + // This is necessary in order to be able to perform delayed invokation on slots // which take arguments of type WId. One example is // QWidgetPrivate::_q_delayedDestroy, which is used to delay destruction of @@ -350,6 +353,9 @@ void QWidgetPrivate::create_sys(WId window, bool /* initializeWindow */, bool de CCoeControl *const destroyw = destroyOldWindow ? data.winid : 0; + TRACE_QTBUG_11376 << "QWidgetPrivate::create_sys" << (void*)q + << "window" << window << "destroyw" << destroyw; + createExtra(); if (window) { setWinId(window); @@ -1080,6 +1086,10 @@ void QWidget::setWindowState(Qt::WindowStates newstate) { Q_D(QWidget); + TRACE_QTBUG_11376 << "QWidget::setWindowState" << (void*)this + << "this.state" << windowState().operator int() + << "state" << newstate.operator int(); + Qt::WindowStates oldstate = windowState(); const TBool isFullscreen = newstate & Qt::WindowFullScreen; diff --git a/src/gui/painting/qbackingstore.cpp b/src/gui/painting/qbackingstore.cpp index 83751ed..689f9f9 100644 --- a/src/gui/painting/qbackingstore.cpp +++ b/src/gui/painting/qbackingstore.cpp @@ -65,6 +65,9 @@ #include #endif +#include +#define TRACE_QTBUG_11376 qDebug() << "[QTBUG-11376]" + QT_BEGIN_NAMESPACE extern QRegion qt_dirtyRegion(QWidget *); @@ -860,6 +863,11 @@ QWidgetBackingStore::QWidgetBackingStore(QWidget *topLevel) , fullUpdatePending(0) { windowSurface = tlw->windowSurface(); + + TRACE_QTBUG_11376 << "+ QWidgetBackingStore::QWidgetBackingStore" << (void*)this + << "tlw" << (void*)tlw + << "windowSurface" << (void*)windowSurface; + if (!windowSurface) windowSurface = topLevel->d_func()->createDefaultWindowSurface(); @@ -872,10 +880,18 @@ QWidgetBackingStore::QWidgetBackingStore(QWidget *topLevel) // Ensure all existing subsurfaces and static widgets are added to their respective lists. updateLists(topLevel); + + TRACE_QTBUG_11376 << "- QWidgetBackingStore::QWidgetBackingStore" << (void*)this + << "tlw" << (void*)tlw + << "windowSurface" << (void*)windowSurface; } QWidgetBackingStore::~QWidgetBackingStore() { + TRACE_QTBUG_11376 << "QWidgetBackingStore::~QWidgetBackingStore" << (void*)this + << "tlw" << (void*)tlw + << "windowSurface" << (void*)windowSurface; + for (int c = 0; c < dirtyWidgets.size(); ++c) { resetWidget(dirtyWidgets.at(c)); } diff --git a/src/openvg/qwindowsurface_vgegl.cpp b/src/openvg/qwindowsurface_vgegl.cpp index e3f52f4..0078027 100644 --- a/src/openvg/qwindowsurface_vgegl.cpp +++ b/src/openvg/qwindowsurface_vgegl.cpp @@ -45,6 +45,9 @@ #include "qvgimagepool_p.h" #include "qvg_p.h" +#include +#define TRACE_QTBUG_11376 qDebug() << "[QTBUG-11376]" + #if !defined(QT_NO_EGL) QT_BEGIN_NAMESPACE @@ -614,10 +617,16 @@ QVGEGLWindowSurfaceDirect::QVGEGLWindowSurfaceDirect(QWindowSurface *win) , needToSwap(false) , windowSurface(EGL_NO_SURFACE) { + TRACE_QTBUG_11376 << "QVGEGLWindowSurfaceDirect::QVGEGLWindowSurfaceDirect" << (void*)this + << "win" << (void*)win; } QVGEGLWindowSurfaceDirect::~QVGEGLWindowSurfaceDirect() { + TRACE_QTBUG_11376 << "QVGEGLWindowSurfaceDirect::~QVGEGLWindowSurfaceDirect" << (void*)this + << "context" << (void*)context + << "windowSurface" << windowSurface; + destroyPaintEngine(); if (context) { if (windowSurface != EGL_NO_SURFACE)