summaryrefslogtreecommitdiffstats
path: root/doc/src/snippets/code/src_xmlpatterns_api_qabstractxmlreceiver.cpp
diff options
context:
space:
mode:
authorGareth Stockwell <ext-gareth.stockwell@nokia.com>2010-02-09 09:41:29 (GMT)
committerJason McDonald <jason.mcdonald@nokia.com>2010-02-09 17:27:19 (GMT)
commit0bc45266e94067c7a76609f01f0ccae5023d8aa2 (patch)
tree4b69b4ada2709b01a3caca4bbea7f7e80cd9cce0 /doc/src/snippets/code/src_xmlpatterns_api_qabstractxmlreceiver.cpp
parentf909655642b08948a72d3b61384952e7878de7e2 (diff)
downloadQt-0bc45266e94067c7a76609f01f0ccae5023d8aa2.zip
Qt-0bc45266e94067c7a76609f01f0ccae5023d8aa2.tar.gz
Qt-0bc45266e94067c7a76609f01f0ccae5023d8aa2.tar.bz2
Fixed defect in handling of expose events for Symbian
Commit bc82db did not correctly handle native child widgets. Consider the case when we have a top-level widget A with a native child widget B. When QSymbianControl::Draw() is called on the control corresponding to B, the following occurs: 1. The inExpose flag is set in B's QWExtra structure. 2. The call to syncBackingStore() results in a call to QWidgetBackingStore::flush(), passing default parameters. 3. Because no target widget was passed to flush(), this function selects the top-level widget (A) as the target for the flush operation, passing A as the first argument of QS60WindowSurface::flush(). 4. QS60WindowSurface::flush() checks the inExpose flag from A's QWExtra structure, finds it to be false, and proceeds to call DrawNow() on A's control. Because QSymbianControl::Draw() uses the default graphics context, this context is shared between controls. This means that the DrawNow() call in step 4 causes a WSERV-10 panic (Activate() called on an already-active) graphics context. This patch moves the inExpose flag from B's QWExtra into A's QTLWExtra, with the result that the call to DrawNow() in step 4 is suppressed. Task-number: QTBUG-7960 Reviewed-by: axis (cherry picked from commit 46df42af1a25fd06247bb96d9e0bf24bf19defe8)
Diffstat (limited to 'doc/src/snippets/code/src_xmlpatterns_api_qabstractxmlreceiver.cpp')
0 files changed, 0 insertions, 0 deletions