-
Bug
-
Resolution: Done
-
P1: Critical
-
4.6.0
-
None
-
None
-
f360555f3c7ded3c729ce972fbd65f035876b1b4
When switching from landscape - portrait mode, the application sometimes crashes.
This can be 100% reproduced in the emulator, but is hard to reproduce on hardware.
On hardware, it is partially protected by the transition effect which affects timing (and causes backing store to be recreated)
S60 3.2 public SDK, winscw udeb
qmediaplayer example
click the orientation switch button once - layout changes to landscape
click the orientation switch button again - access violation exception occurs
It looks like memcpy is called with a pointer to a destination buffer that has been already freed. (exception happens at page boundary)
src: 0x1479bcc0
dst: 0x14650000
src0: 0x1479b9c0
dts0: 0x1464fd00
40 memcpy() Q:\wk29\stdlibs\libc\src\string\bcopy.c:111 0x0027df5c
39 qt_blend_rgb32_on_rgb32() C:\S60\qt\qt\src\gui\painting\qblendfunctions.cpp:622 0x0144172f
38 QRasterPaintEnginePrivate::drawImage() C:\S60\qt\qt\src\gui\painting\qpaintengine_raster.cpp:1074 0x014d1e10
37 QRasterPaintEngine::drawImage() C:\S60\qt\qt\src\gui\painting\qpaintengine_raster.cpp:2679 0x014d9e84
36 QRasterPaintEngine::drawPixmap() C:\S60\qt\qt\src\gui\painting\qpaintengine_raster.cpp:2428 0x014d8930
35 QS60PaintEngine::drawPixmap() C:\S60\qt\qt\src\gui\painting\qpaintengine_s60.cpp:84 0x015086b9
34 QPainter::drawPixmap() C:\S60\qt\qt\src\gui\painting\qpainter.cpp:5297 0x0147e80c
33 QPainter::drawPixmap() C:\S60\qt\qt\src\gui\painting\qpainter.h:849 0x01196575
32 qt_s60_fill_background() C:\S60\qt\qt\src\gui\styles\qs60style.cpp:2877 0x01587f19
31 fillRegion() C:\S60\qt\qt\src\gui\kernel\qwidget.cpp:2099 0x01406541
30 QWidgetPrivate::paintBackground() C:\S60\qt\qt\src\gui\kernel\qwidget.cpp:2148 0x014063c8
29 QWidgetPrivate::drawWidget() C:\S60\qt\qt\src\gui\kernel\qwidget.cpp:5254 0x0140cc0d
28 QWidgetBackingStore::sync() C:\S60\qt\qt\src\gui\painting\qbackingstore.cpp:1291 0x01506c03
27 QWidgetPrivate::syncBackingStore() C:\S60\qt\qt\src\gui\kernel\qwidget.cpp:1662 0x01404a21
26 QSymbianControl::SizeChanged() C:\S60\qt\qt\src\gui\kernel\qapplication_s60.cpp:831 0x01423426
25 0x406071A6( cone.dll )() 0x406071a6
24 QSymbianControl::HandleResourceChange() C:\S60\qt\qt\src\gui\kernel\qapplication_s60.cpp:915 0x0142387d
23 0x40601D1B( cone.dll )() 0x40601d1b
22 0x40B4BA0F( eikcore.dll )() 0x40b4ba0f
21 0x28C4303( avkon.dll )() 0x028c4303
20 0x28C4083( avkon.dll )() 0x028c4083
19 0x40601A04( cone.dll )() 0x40601a04
18 0x40B4B683( eikcore.dll )() 0x40b4b683
17 0x28C66CC( avkon.dll )() 0x028c66cc
16 QS60MainAppUi::HandleWsEventL() C:\S60\qt\qt\src\gui\s60framework\qs60mainappui.cpp:171 0x01509ef8
15 0x4060A42D( cone.dll )() 0x4060a42d
14 0x60002256( euser.dll )() 0x60002256
13 QEventDispatcherSymbian::processEvents() C:\S60\qt\qt\src\corelib\kernel\qeventdispatcher_symbian.cpp:736 0x00d2e995
12 QEventDispatcherS60::processEvents() C:\S60\qt\qt\src\gui\kernel\qeventdispatcher_s60.cpp:74 0x01427f75
11 QEventLoop::processEvents() C:\S60\qt\qt\src\corelib\kernel\qeventloop.cpp:149 0x00cf7e50
10 QEventLoop::exec() C:\S60\qt\qt\src\corelib\kernel\qeventloop.cpp:201 0x00cf8049
9 QCoreApplication::exec() C:\S60\qt\qt\src\corelib\kernel\qcoreapplication.cpp:981 0x00cfaf93
8 QApplication::exec() C:\S60\qt\qt\src\gui\kernel\qapplication.cpp:3577 0x013c4a19
7 main() C:\S60\qt\qt\demos\mediaplayer\main.cpp:87 0x004011dc
6 QtMainWrapper() C:\S60\qt\qt\src\s60main\qts60main_mcrt0.cpp:90 0x004100a2
5 E32Main() C:\S60\qt\qt\src\s60main\qts60main.cpp:57 0x0040fedc
4 _E32Startup() Z:\src\cedar\generic\base\e32\EUSER\epoc\win32\uc_exe.cpp:74 0x0040f31a