summaryrefslogtreecommitdiffstats
path: root/src/gui/kernel/qapplication_s60.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Merge remote-tracking branch 'qt/4.8'Sami Lempinen2011-04-281-46/+143
|\
| * Merge remote-tracking branch 'origin/4.7' into qt-master-from-4.7Olivier Goffart2011-04-181-46/+143
| |\ | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: qmake/generators/makefile.cpp qmake/generators/win32/msbuild_objectmodel.cpp qmake/generators/win32/msvc_vcxproj.cpp src/corelib/global/qnamespace.h src/gui/text/qtextcontrol.cpp
| | * Trigger fullscreen transition effects properly on app exit.Laszlo Agocs2011-04-141-2/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Avkon calls BeginFullScreen() and EndFullScreen() to trigger the fullscreen system transition effects for application exit, however the calls are made too late for Qt apps because the widgets are already destroyed. Instead, the effects are triggered explicitly from Qt, before closing the widgets, or from aboutToQuit, whichever comes first. Task-number: QT-4718 Reviewed-by: Jani Hautakangas
| | * Do not use SetSurfaceTransparency() on raster.Laszlo Agocs2011-04-141-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | When raster graphics system is forced and the HW was capable enough, we still tried to use SetSurfaceTransparency() on the RWindow to enable semi-transparency, which is wrong as it only works for windows that have a separate surface. Reviewed-by: Jani Hautakangas
| | * Have the backing store destroyed also in special Symbian scenarios.Laszlo Agocs2011-04-121-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The backing store tracker's registerWidget and unregisterWidget functions are called when EPartiallyVisible and ENotVisible events come from WSERV. However if an application sends its window group to background right after caling show() and before entering the event loop, there is a chance that all the application will receive is an ENotVisible event, leading to calling unregisterWidget() without a previous registerWidget(). In this case the backing store was not destroyed and the application was consuming GPU memory even while it was staying in background. This patch ensures registerWidget() is called always before unregisterWidget() in the Symbian-specific event handler for ENotVisible, and replaces the previous patch, a12d41076919a133e63de63dff5c1a131a0564e4, which caused regression in autotests. Task-number: QTBUG-18493 Reviewed-by: Gareth Stockwell
| | * Use FixNativeOrientation on Symbian when the application wants it.Laszlo Agocs2011-04-121-41/+118
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Applications can request the usage of RWindow::FixNativeOrientation() by setting the new Qt::WA_SymbianNoSystemRotation attribute for their fullscreen top-level widget (which in practice will either be a graphics or declarative view). This will fix the underlying EGL window surface and the QWidget dimensions to the dimension of the native orientation of the device (typically portrait). The default auto-rotation can be left enabled, however it will be up to the application to rotate the drawing. Global notifications, VKB, etc. will still appear in the proper orientation. Another benefit is improved performance in the non-native orientation. Task-number: QTBUG-17742 Reviewed-by: Jason Barron Reviewed-by: Jani Hautakangas
| | * Check the validity of qt_desktopWidget before dereferencingRuth Sadler2011-04-071-2/+4
| | | | | | | | | | | | | | | Task-number: QTMOBILITY-1494 Reviewed-by: Gareth Stockwell
| | * Do not unnecessarily draw application twice in landscapeMiikka Heikkinen2011-04-071-1/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fullscreen with softkeys dialogs would draw twice when orientation was changed to landscape, causing flicker. This happened because status pane change event and layout change event both caused redraw with different client area size. Added a check to avoid handling client area change on account of status pane change, if status pane is not visible and there was no change in its visibility. Task-number: QTBUG-18496 Reviewed-by: Sami Merila
* | | Make text rendering working outside the gui thread on Symbian.Laszlo Agocs2011-04-261-0/+3
|/ / | | | | | | | | | | | | | | | | | | | | | | | | It was previously not possible to render text (QPainter::drawText) in a secondary thread on Symbian, it always resulted in some kind of panic. This patch corrects it. For S60 5.0 and earlier the behavior is not changed, threaded text rendering is only supported on Symbian^3 and newer. This also means QFontDatabase::supportsThreadedFontRendering() will return true from now on, but only on Symbian^3 and higher. Task-number: QTBUG-18516 Reviewed-by: mread
* | Merge remote-tracking branch 'origin/4.7' into qt-master-from-4.7Olivier Goffart2011-04-071-32/+58
|\ \ | |/ | | | | | | | | Conflicts: src/gui/text/qfontengine_mac.mm tests/auto/qdiriterator/tst_qdiriterator.cpp
| * Native dialog softkeys are covered by QApplication softkeysSami Merila2011-04-041-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | Dialog softkeys are covered by Qt Application's Softkeys Updating softkeys while showing a native dialog, pushes Qt application CBA on top of dialog CBA. Therefore, native dialog can not be dismissed. As a workaround, when gaining focus to a window, do not update application softkeys, if there is a native dialog shown. Task-number: QTBUG-18486 Reviewed-by: mread
| * Don't display softkeys/statusbar on FS childs of non-FS windowsMiikka Heikkinen2011-04-011-31/+56
| | | | | | | | | | | | | | | | | | | | Fullscreen child windows of non-fullscreen main application window displayed softkeys and status bar when they shouldn't. Fixed it so that fullscreen windows never display these items (except for softkeys when explicitly specified to do so.) Task-number: QTTH-1207 Reviewed-by: Sami Merila
* | Merge remote-tracking branch 'origin/4.7' into qt-master-from-4.7Olivier Goffart2011-03-311-9/+59
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: doc/src/declarative/example-slideswitch.qdoc doc/src/development/qmake-manual.qdoc doc/src/snippets/code/doc_src_qmake-manual.pro doc/src/snippets/code/doc_src_qtscript.qdoc src/corelib/animation/qabstractanimation.cpp src/s60installs/bwins/QtOpenGLu.def src/s60installs/eabi/QtOpenGLu.def src/s60installs/eabi/QtOpenVGu.def tests/auto/qdir/qdir.pro tests/auto/qsslsocket/tst_qsslsocket.cpp tools/qdoc3/doc/qdoc-manual.qdocconf
| * Show softkeys when opening a dialog that has a fullscreen parent.Miikka Heikkinen2011-03-281-9/+30
| | | | | | | | | | | | | | | | Now shows the CBA for each window that defines softkeys even if topmost parent is fullscreen. Task-number: QTBUG-4953 Reviewed-by: Sami Merila
| * Call FixNativeOrientation on Symbian for certain fullscreen qml views.Laszlo Agocs2011-03-241-0/+29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | For fullscreen QDeclarativeViews that lock their orientation to the native orientation of the device an additional performance gain can be achieved by calling FixNativeOrientation on the underlying RWindow. Such apps will either work in a single orientation only, or they will handle rotation themselves, by using QPainter transformations and opting out from the standard Avkon auto-rotation. In any of these cases there is no need for the lower level layers of the system to handle graphics surface rotation, the app is "fixed" to the native orientation from their point of view, therefore it is safe to call FixNativeOrientation(). Task-number: QTBUG-17742 Reviewed-by: Jason Barron
* | Merge branch 4.7 into qt-master-from-4.7Qt Continuous Integration System2011-03-191-1/+2
|\ \ | |/
| * Add flag for forcibly propagating backing store alpha to framebufferGareth Stockwell2011-03-181-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously, the following rules applies to the creation and blitting of the Symbian raster backing store: 1. Creation of backing store with an alpha channel: Backing store has an alpha channel only if !QWidget::isOpaque. 2. Pre-filling of backing store prior to paint loop: Backing store is filled with transparent pixels if !QWidget::isOpaque. 3. Blitting of backing store: CGraphicsContext::EDrawModeWriteAlpha is used (meaning that backing store alpha values are propagated into the frame buffer), if QWidget::isOpaque. In order for the direct camera viewfinder to be visible on DSA devices, alpha=0 must be written into the framebuffer in the region where the viewfinder will be displayed. This requires a backing store with an alpha channel (1), use of CGraphicsContext::EDrawModeWriteAlpha (3), but not pre-filling of the entire backing store (2). This patch adds a new enum value, QWExtra::BlitWriteAlpha, which can be used by camera backends to achieve the desired behaviour. Task-number: QTMOBILITY-1278 Reviewed-by: Jani Hautakangas
* | Merge remote-tracking branch 'origin/4.7' into qt-master-from-4.7Thiago Macieira2011-03-111-9/+112
|\ \ | |/ | | | | | | | | | | Conflicts: mkspecs/common/symbian/symbian.conf src/s60installs/bwins/QtGuiu.def src/s60installs/eabi/QtGuiu.def
| * Don't use EGL surfaces for translucency with 32MB GPU chip.Jani Hautakangas2011-03-101-1/+26
| | | | | | | | | | | | | | | | | | | | | | Add dynamic GPU chip detection on Symbian to decide if translucent EGL surfaces can be used. With 32MB GPU memory there is not enough memory to create for example transparent video overlay widgets and that's why hw surfaces must not be used. Task-number: QTBUG-18024 Reviewed-by: Jason Barron
| * Added missing ifdefs to allow compilation on older Symbian versions.Laszlo Agocs2011-03-091-0/+2
| | | | | | | | Reviewed-by: TRUSTME
| * Multiple screen support for Symbian in QDeskopWidget.Laszlo Agocs2011-03-091-9/+29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When using TV-out, the TV display can be used as an independent screen. By default the content shown there is a clone of the device screen, however from now on parenting a widget to QDesktopWidget::screen(1) and calling show() will turn off cloning and have the widget shown instead. screenCount() and the screenCountChanged signal can be used to detect the availability of the secondary display, just like on other platforms. Task-number: QT-830 Reviewed-by: Sami Merila Reviewed-by: Jani Hautakangas
| * Support partial input modeSami Merila2011-03-081-0/+56
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | By default Symbian devices use fullscreen editing mode. However, in the latest AVKON releases a partial virtual keyboard is supported. Support the non-fullscreen editing mode from QCoeFepInputContext. The non-fullscreen editing mode is only supported for Symbian^3 and only for graphicsview-based solutions (QGraphicsView, QGraphicsWebView, QDeclarativeView, ...). When native side indicates that the keyboard opens, the graphicsview is possibly translated so that the text cursor position is ensured to be visible. When keyboard closes, the translation is removed. If the graphicsview contains vertical scrollbar, the whole view is resized to the area above the keyboard, since translating it, would move the upper part of the scrollbar out of screen area. There is a new exported private API to control when partial vkb is used. Task-number: QTBUG-16572 Reviewed-by: axis Reviewed-by: Mrudul Pendharkar Reviewed-by: Laszlo Agocs
* | Merge branch 4.7 into qt-master-from-4.7Qt Continuous Integration System2011-02-241-6/+6
|\ \ | |/
| * Remove Qt dependancy to SYMBIAN_GRAPHICS_WSERV_QT_EFFECTSJani Hautakangas2011-02-231-6/+6
| | | | | | | | | | | | | | | | | | | | | | This patch replaces the usage of old flag with new flags which indicate availability of EGL surface transparency SYMBIAN_GRAPHICS_SET_SURFACE_TRANSPARENCY_AVAILABLE and availability of Symbian trasition effects API support SYMBIAN_GRAPHICS_TRANSITION_EFFECTS_SIGNALING_AVAILABE. Task-number: QTBUG-16822 Reviewed-by: Jason Barron
* | Merge branch earth-team/master into earth-stagingJoão Abecasis2011-02-161-0/+9
|\ \ | | | | | | | | | | | | Conflicts: doc/src/development/qmake-manual.qdoc
| * \ Merge branch 'master' of scm.dev.nokia.troll.no:qt/qt into earth-masteraxis2011-01-311-18/+20
| |\ \
| * | | Added Symbian implementation of keyboard language functions.axis2011-01-141-0/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | More specifically, QApplication::keyboardInputLocale() and QApplication::keyboardInputDirection(). Task: QTBUG-15600 RevBy: Sami Merila
* | | | Merge remote-tracking branch 'origin/4.7' into qt-master-from-4.7Olivier Goffart2011-02-101-6/+8
|\ \ \ \ | | |_|/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: doc/src/development/qmake-manual.qdoc mkspecs/symbian-gcce/qmake.conf qmake/project.cpp src/corelib/global/qnamespace.qdoc src/declarative/graphicsitems/qdeclarativetext.cpp src/gui/text/qtextdocumentlayout.cpp src/gui/text/qtextdocumentlayout_p.h tests/auto/declarative/qdeclarativetext/tst_qdeclarativetext.cpp tests/auto/networkselftest/networkselftest.pro tests/auto/qscriptengine/tst_qscriptengine.cpp tools/designer/src/components/signalsloteditor/signalslot_utils.cpp tools/designer/src/components/signalsloteditor/signalsloteditorwindow.cpp tools/qdoc3/test/qt-build-docs.qdocconf tools/qdoc3/test/qt-html-templates.qdocconf tools/qdoc3/test/qt-html-templates_zh_CN.qdocconf tools/qdoc3/test/qt.qdocconf tools/qdoc3/test/qt_ja_JP.qdocconf tools/qdoc3/test/qt_zh_CN.qdocconf
| * | | Fix native child window Symbian decoration handling.Jani Hautakangas2011-02-061-6/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Resizing native child window like QVideoWidget caused S60 cba and status pane to appear. Task-number: QTBUG-17040 Reviewed-by: Gareth Stockwell
* | | | Merge branch 'integration'Yoann Lopes2011-02-021-0/+4
|\ \ \ \ | |_|_|/ |/| | | | | | | | | | | | | | | Conflicts: src/gui/kernel/qapplication_s60.cpp src/gui/text/qfontdatabase_s60.cpp
| * | | Fixes compilation when using FreeType on Symbian.Yoann Lopes2011-01-311-0/+4
| | | |
* | | | Merge remote branch 'origin/4.7' into qt-master-from-4.7Olivier Goffart2011-01-251-2/+5
|\ \ \ \ | |/ / / |/| / / | |/ / | | | | | | Conflicts: configure src/network/bearer/bearer.pri
| * | Supporting Qt application fonts on SymbianAlessandro Portale2011-01-191-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch finally implements the missing application font support on Symbian. QFontDatabase's addApplicationFont[FromData], applicationFontFamilies and removeApplicationFont are now functional and allow an application to load, use and unload fonts at run-time. The underlying Symbian API comes with some restrictions/specialties. Most of them are worked around in this patch, the missing ones are left as part of QTBUG-16514: - The font file must be a file, not a memory buffer. Web fonts and qrc fonts come as memory buffers. These buffers are saved to a temporary .ttf file and the file is loaded by the underlying Symbian API. The temporary file can only be deleted after the font is unloaded. - The font file must be in a public location in order to be loadable by Symbian. It can for example not reside in the private application directory. Therefore, all application fonts (also those that are on the file system) become a temporary .ttf file in c:\temp\. - Symbian3/PR2 will come with a font table API which provides direct access to font tables. Symbian3/PR1 and below are missing this API, therefore, an own TFontStore is (ab)used to read font tables out of a font. This patch is considering both code paths in several occasions, making the Qt Symbian font implementation significantly less maintainable. - The fonts are loaded into Symbian's central font server. Loaded fonts from different processes can have colliding font typeface names (not file names) on that server. The server does not separate loaded fonts by their origin processes. Working around such collisions is part of QTBUG-16514. The number of fonts loadable at the same time by a Qt application is limited to the random value 5. Just to prevent abuse of the font server's memory. As usual, this patch was looked at by colleagues, and it was adjusted according to the feedback. But since the bus factor for the interaction of Qt's and Symbian's font systems is 1, I reviewed this patch, myself. Task-Number: QTBUG-6611 Autotest: tst_QFontDatabase::addAppFont
| * | QTBUG-16110 updating the softkeys when app comes to foregroundmread2011-01-171-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When an app is in the background and creates a window with softkeys, the softkeys are not updated when the app comes to the foreground, so they look faded. This change updates the softkeys when the app comes to the forground. Task-number: QTBUG-16110 Reviewed-by: Jason Barron
* | | Merge remote branch 'origin/4.7' into qt-master-from-4.7Olivier Goffart2011-01-171-16/+15
|\ \ \ | |/ / | | / | |/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: examples/webkit/imageanalyzer/imageanalyzer.h examples/webkit/imageanalyzer/mainwindow.h mkspecs/unsupported/qws/linux-x86-openkode-g++/qplatformdefs.h src/corelib/io/qfsfileengine_iterator_unix.cpp src/corelib/io/qfsfileengine_iterator_win.cpp src/corelib/kernel/qcoreapplication.cpp src/network/access/qnetworkaccessdatabackend.cpp src/plugins/bearer/connman/qconnmanservice_linux.cpp src/plugins/platforms/openvglite/qwindowsurface_vglite.h src/s60installs/bwins/QtCoreu.def src/s60installs/eabi/QtCoreu.def src/s60installs/s60installs.pro tools/assistant/tools/assistant/helpviewer_qwv.h tools/qdoc3/test/qt-html-templates.qdocconf
| * Allow use of command line parameters with RApaLsSession::StartApp.Miikka Heikkinen2011-01-111-15/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When a Symbian application is launched using RApaLsSession::StartApp, command line parameters can be given with CApaCommandLine::SetTailEndL and will now be correctly interpreted by Qt applications as command line parameters. There are a couple of limitations: 1) The parameters given with CApaCommandLine::SetTailEndL will not be available in main method's argv array; they can be accessed via QCoreApplication::arguments function. 2) CApaCommandLine::SetTailEndL does support any arbitrary binary data as parameter, but only 8-bit string data gets parsed properly into QCoreApplication::arguments. For other kind of tail data, you need to subclass QS60MainAppUi and implement ProcessCommandParametersL callback. Task-number: QTBUG-15987 Reviewed-by: axis
| * Update copyright year to 2011.Jason McDonald2011-01-101-1/+1
| | | | | | | | Reviewed-by: Trust Me
* | Merge branch 4.7 into qt-master-from-4.7Qt Continuous Integration System2010-12-301-0/+8
|\ \ | |/
| * Clear WSERV content when a native child receives an "expose"Jason Barron2010-12-291-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Native child windows on Symbian can cause composition artifacts on S^3 because they own a visible RWindow instance, but the RWindow technically has no content because child windows paint their content to their parent's backing store. In the event that a native child widget completely obscures a top level, the composition engine does not understand that the child is "empty" and should clear the UI surface to let the top level "shine through". The result is that articacts can remain on the UI surface after a transition from a WSERV drawing app to a Qt (EGL rendering) app. To fix this issue, we call CWindowGc::Clear() when the native child widget receives an "expose" event. This clears the UI surface content and ensures the top level is visible even though it is technically below another RWindow. Task-number: QTMOBILITY-484 Reviewed-by: Jani Hautakangas
* | Merge remote branch 'origin/4.7' into qt-master-from-4.7Olivier Goffart2010-12-201-5/+14
|\ \ | |/ | | | | | | | | | | | | | | | | Conflicts: demos/declarative/minehunt/minehunt.pro src/opengl/gl2paintengineex/qtextureglyphcache_gl.cpp src/plugins/phonon/mmf/mmf.pro src/s60installs/s60installs.pro tests/auto/qapplication/test/test.pro tests/auto/qgraphicsview/tst_qgraphicsview.cpp
| * Avoid duplicate resize eventMiikka Heikkinen2010-12-161-2/+4
| | | | | | | | | | | | | | | | No need to have two resize events in queue for same widget, so do not post a new one if one is already pending in QSymbianControl::SizeChanged(). Reviewed-by: Sami Merila
| * Resize event for QDesktopWidget was sent too earlyMiikka Heikkinen2010-12-151-3/+3
| | | | | | | | | | | | | | | | | | | | | | Some recent changes had caused a change in events sent from avkon to QSymbianControl, causing QDesktopWidget to be get resize event before the client area of application was correct. Moved the resize event sending from HandleStatusPaneSizeChange to HandleResourceChange (case KEikDynamicLayoutVariantSwitch). Task-number: QTBUG-16095 Reviewed-by: Sami Merila
| * Fix crash when creating more than one QApplication in single test caseMiikka Heikkinen2010-12-131-0/+7
| | | | | | | | | | | | | | | | | | CBA pointer is stored in static variable and it wasn't cleaned up properly at QApplication destruction, which led to crash. Task-number: QTBUG-15915 Reviewed-by: Sami Merila Reviewed-by: Janne Koskinen
* | Merge remote branch 'qt/master' into file-engine-refactorJoão Abecasis2010-11-231-4/+16
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: demos/declarative/minehunt/minehunt.pro src/corelib/io/io.pri src/corelib/io/qfsfileengine.cpp src/corelib/io/qfsfileengine_unix.cpp src/corelib/io/qfsfileengine_win.cpp src/s60installs/bwins/QtCoreu.def src/s60installs/bwins/QtDeclarativeu.def src/s60installs/bwins/QtGuiu.def src/s60installs/eabi/QtCoreu.def src/s60installs/eabi/QtDeclarativeu.def src/s60installs/eabi/QtGuiu.def tests/auto/qapplication/test/test.pro tests/auto/qaudioinput/qaudioinput.pro tests/auto/qaudiooutput/qaudiooutput.pro tests/auto/qchar/qchar.pro tests/auto/qdiriterator/qdiriterator.pro tests/auto/qsound/qsound.pro
| * \ Merge remote branch 'origin/4.7' into qt-master-from-4.7Olivier Goffart2010-11-121-1/+1
| |\ \ | | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: configure doc/src/snippets/code/doc_src_qmake-manual.qdoc mkspecs/features/symbian/application_icon.prf mkspecs/features/symbian/default_post.prf mkspecs/features/symbian/symbian_building.prf qmake/generators/symbian/initprojectdeploy_symbian.cpp src/multimedia/audio/audio.pri src/network/access/qnetworkaccessmanager.cpp src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp src/opengl/qgl_p.h src/plugins/bearer/corewlan/qcorewlanengine.mm src/plugins/phonon/mmf/mmf.pro tests/auto/qscriptvalue/tst_qscriptvalue.cpp tests/auto/qscriptvalue/tst_qscriptvalue.h tools/qdoc3/doc/qdoc-manual.qdocconf
| | * Merge branch 'QT-4077-fix' into 4.7-s60axis2010-11-051-1/+1
| | |\
| | | * Fixed event starvation with pointer events on Symbian.axis2010-11-051-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The CEikonEnv active object is used by Symbian to indicate that new window server events are available, in this case pointer events. Since this object was being controlled by Symbian, it was not subject to Qt's round robin queue. In a case where the event handler for the pointer event would take very long, it was possible for the active object to be completed again before the previous handler was finished, causing it to be called in a loop. This was fixed by making a new Qt-owned class as a subclass of CEikonEnv, and in its RunL, make sure that the object follows the round-robin queue. Because the round robin code is located in a subclass of CEikonEnv that we own, the fix will have no effect if Qt is loaded after the Eikon framework (such as a Qt plugin in a non-Qt app). Task: QT-4077 RevBy: mread AutoTest: N/A, system events
| * | | Merge branch 4.7 into qt-master-from-4.7Qt Continuous Integration System2010-10-301-0/+11
| |\ \ \ | | |/ /
| | * | Avoid being killed by graphics out-of-memory monitor.Jason Barron2010-10-291-0/+11
| | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When an application requests more graphics memory, the GOOM monitor will start looking for other applications to kill in order to recover the requested graphics memory. The first step in this process is to send a custom event to the application indicating that it is a candidate for termination. If the application does not acknowledge this event, it will be killed immediately. However, since Qt releases its graphics memory when the app is obscured, we should indicate that we handle this event such that Qt has a chance to finish freeing resources. If after a certain time, the app has not freed its resources it will be killed anyway. This essentially buys Qt some time to avoid the case where Qt apps are killed while they are cleaning up. Task: QTBUG-14858 Reviewed-by: Jani Hautakangas
| * | Merge branch 4.7 into qt-master-from-4.7Qt Continuous Integration System2010-10-091-3/+4
| |\ \ | | |/