summaryrefslogtreecommitdiffstats
path: root/src/gui/kernel/qapplication_s60.cpp
Commit message (Collapse)AuthorAgeFilesLines
* 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
| |\ \ | | |/
| | * Account for native child widgets when handling focus eventsGareth Stockwell2010-10-081-3/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The code previously contained an implicit assumption that the control which received the FocusChanged event was a top-level widget. This meant that focus events delivered to native child widgets could cause unexpected changes in visibility of the statusbar and CBA. Task-number: QTBUG-13761 Reviewed-by: Jason Barron
* | | Fix crash in QApplication auto testShane Kearns2010-10-181-0/+3
|/ / | | | | | | | | | | | | | | | | | | | | | | The pointer is lazily initialised by QWidget, but becomes invalid after the application is destroyed. In the QApplication autotest, QApplication is created and destroyed many times in the same thread (while in normal use it is created at startup and destroyed on exit) As a result, the pointer which is stored in global data became stale and caused a crash due to calling functions on a deleted object. Reviewed-By: Jason Barron
* | Merge remote branch 'origin/4.7' into qt-master-from-4.7Olivier Goffart2010-10-071-6/+0
|\ \ | |/ | | | | | | | | | | | | | | | | Conflicts: qmake/generators/win32/msbuild_objectmodel.cpp qmake/generators/win32/msbuild_objectmodel.h qmake/generators/win32/msvc_objectmodel.cpp qmake/generators/win32/msvc_vcxproj.cpp src/corelib/arch/qatomic_arm.h tests/auto/qglthreads/tst_qglthreads.cpp
| * Remove unused/incorrect TFX commands pertaining to layers on Symbian.Jason Barron2010-10-061-6/+0
| | | | | | | | | | | | | | | | | | These commands have been renamed in the Symbian^4 code line, but since they are not currently used by the effects engine, we simply remove them for now to avoid causing build breakages on platforms that use the older version. Reviewed-by: Jani Hautakangas
* | Merge remote branch 'origin/4.7' into master-from-4.7Rohan McGovern2010-10-041-0/+3
|\ \ | |/ | | | | | | | | | | | | | | | | | | Conflicts: doc/src/snippets/code/doc_src_qmake-manual.qdoc src/corelib/arch/symbian/arch.pri src/declarative/graphicsitems/qdeclarativeflickable.cpp src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp src/opengl/gl2paintengineex/qtextureglyphcache_gl.cpp src/opengl/gl2paintengineex/qtextureglyphcache_gl_p.h tests/auto/qfontmetrics/tst_qfontmetrics.cpp
| * Fix QApplication::desktop()->availableGeometry() for SymbianMiikka Heikkinen2010-09-301-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | Since screen geometry changes before client area geometry is changed in Eikon, we need to send two resize events, one for screen area change and one for client area change. Note that the correct way to detect client area change in applications is to connect to QApplication::desktop() signal workAreaResized(int) instead of filtering for resize events meant for QDesktopWidget. Task-number: QTBUG-14058 Reviewed-by: Jason Barron
* | Merge remote branch 'origin/4.7' into qt-master-from-4.7Olivier Goffart2010-09-281-0/+4
|\ \ | |/ | | | | | | | | | | | | Conflicts: src/gui/painting/qrasterizer.cpp src/network/access/qnetworkaccessmanager.cpp tests/auto/qpainter/tst_qpainter.cpp tools/assistant/tools/assistant/mainwindow.cpp
| * Made the Symbian menu close when switching native focus.axis2010-09-271-0/+4
| | | | | | | | | | | | | | | | | | This was required to avoid windows appearing on top of the popup menu, preventing both the menu and the softkeys from being used. Task: QTBUG-9965 AutoTest: Included RevBy: Jason Barron
* | Merge remote branch 'origin/4.7' into qt-master-from-4.7Olivier Goffart2010-09-101-10/+27
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: bin/syncqt demos/declarative/snake/content/snake.js demos/declarative/snake/snake.qml doc/src/development/qmake-manual.qdoc src/corelib/plugin/plugin.pri src/gui/kernel/qapplication_win.cpp src/gui/kernel/qdesktopwidget_win.cpp src/gui/painting/qdrawhelper.cpp tests/auto/qdir/tst_qdir.cpp tools/qdoc3/test/assistant.qdocconf tools/qdoc3/test/designer.qdocconf tools/qdoc3/test/linguist.qdocconf
| * Update QDesktopWidget geometry when S60 furniture visibility changesGareth Stockwell2010-09-021-0/+6
| | | | | | | | | | Task-number: QTBUG-13204 Reviewed-by: axis
| * Prevent null pointer dereferenceGareth Stockwell2010-09-021-1/+1
| | | | | | | | | | Task-number: QTBUG-13204 Reviewed-by: axis
| * Merge branch 'variousFixes' into 4.7-s60axis2010-09-011-9/+20
| |\
| | * Fixed a case where a newly created native widget would lose focus.axis2010-09-011-9/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If a native control was created for a child widget, it would receive the FocusChanged signal in its QSymbianControl with a value of not- focused. This would lead the code to deactivate the whole toplevel window. This was fixed by having Qt traverse the widget chain up to the toplevel and check if parent widgets are also not focused. AutoTest: Included and passed RevBy: Denis Dzyubenko RevBy: mread
* | | Merge remote branch 'origin/4.7' into qt-master-from-4.7Olivier Goffart2010-08-301-0/+5
|\ \ \ | |/ / | | | | | | | | | | | | | | | Conflicts: qmake/generators/win32/msbuild_objectmodel.cpp qmake/generators/win32/msvc_vcxproj.cpp tests/auto/qnetworkreply/tst_qnetworkreply.cpp
| * | Enabling AdvancedPointerEvents for active windows causes a panicSami Merila2010-08-251-0/+5
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In Symbian port of Qt, widgets that have attribute WA_AcceptTouchEvents, are tried to set as enabled for "advanced pointer events". These are multitouch events. However, the event enablation cannot be done after a window has been activated. Current implementation causes a crash in certain cases. For example, a treewidget that is inside a inactive tab page, causes a crash when tab page is selected. The crash is worked around, by not allowing a active window to enable advanced pointer events. This fixes http://bugreports.qt.nokia.com/browse/QTBUG-12779 Task-number: QTBUG-12779 Reviewed-by: mread
* | Merge remote branch 'origin/4.7' into qt-master-from-4.7Olivier Goffart2010-08-251-33/+43
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | Conflicts: qmake/generators/win32/msbuild_objectmodel.cpp src/declarative/qml/qdeclarativexmlhttprequest.cpp src/opengl/opengl.pro src/opengl/qgl_p.h src/plugins/bearer/connman/qconnmanservice_linux.cpp tests/auto/qpainter/tst_qpainter.cpp tools/assistant/tools/assistant/helpviewer_qwv.h tools/assistant/tools/assistant/openpageswidget.h
| * Introduce QtOpenGL module for Symbian.Jani Hautakangas2010-08-201-4/+5
| | | | | | | | | | Task-number: QT-2139 Reviewed-by: Gunnar Sletta
| * Refactored handling of window visibility events on SymbianGareth Stockwell2010-08-181-26/+36
| | | | | | | | | | Task-number: QTBUG-12817 Reviewed-by: Jason Barron
| * Replaced backing store reference count with list of visible widgetsGareth Stockwell2010-08-181-7/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously, the following sequence: 1. Widget is hidden 2. Widget partially revealed 3. Widget fully revealed resulted in the reference count of the backing store owned by the widget's window() being incremented twice. This patch replaces the simple reference count with a QSet which stores pointers to the native widgets which are descendents of the backing store owner, and which are currently visible. The sequence above therefore results in just a single insertion at step (2), with step (3) having no effect on the backing store. The QRefCountedWidgetBackingStore class has been renamed QWidgetBackingStoreTracker to better reflect its purpose. Task-number: QTBUG-12800 Task-number: QTBUG-12817 Reviewed-by: Jason Barron
| * Fix for memory leak in qt_initShane Kearns2010-08-131-0/+2
| | | | | | | | Reviewed-by: Miikka Heikkinen
* | Merge remote branch 'origin/4.7' into qt-master-from-4.7Olivier Goffart2010-08-131-259/+376
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/gui/painting/qpainter.cpp src/gui/text/qtextengine.cpp tests/auto/qimage/tst_qimage.cpp tests/auto/qpainter/tst_qpainter.cpp tools/qdoc3/test/assistant.qdocconf tools/qdoc3/test/designer.qdocconf tools/qdoc3/test/linguist.qdocconf tools/qdoc3/test/qmake.qdocconf 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
| * Merge branch '4.7' of scm.dev.nokia.troll.no:qt/oslo-staging-1 into ↵Qt Continuous Integration System2010-08-101-2/+2
| |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4.7-integration * '4.7' of scm.dev.nokia.troll.no:qt/oslo-staging-1: (26 commits) Correct spelling (UNKOWN -> UNKNOWN) to fix recent test regression add performance comparisons to qregexp benchmark configure: fix error message when calling config.status Fix invalid memory write during recursive timer activation Added comment about calendarPopup in setCalendarWidget function documentation. doc: Fixed some qdoc errors. Correcting spelling mistakes in documentation. Part of fix for QTBUG-11938. CreateFileMapping returns NULL on error , only tested with INVALID_HANDLE_VALUE. XmlListModel doc fixes Mention QML_IMPORT_TRACE in Modules docs Merge sections about when property and default state Explain Flipable example further PathView required some diagonal movement before a drag was initiated. doc: Fixed some qdoc errors. doc: Fixed some qdoc errors. OpenGL: Fix multisample renderbuffer creation when MAX_SAMPLES is 0. doc: Fixed some qdoc errors. Add Ukrainian translation. doc: Fixed some qdoc errors. doc: Fixed some qdoc errors. ...
| | * Correcting spelling mistakes in documentation. Part of fix for QTBUG-11938.Jerome Pasion2010-08-091-2/+2
| | | | | | | | | | | | | | | Reviewer: David Boddie Task number: QTBUG-11938
| * | Pending surface might not get destroyed if no flush() happensJani Hautakangas2010-08-091-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | in between graphics system change. This patch ensures that all old surfaces are destroyed before new graphics system is activated. Reviewed-by: Jason Barron
| * | Use ARGB32 premultiplied backing store format in Symbian^3Jani Hautakangas2010-08-061-1/+2
| | | | | | | | | | | | | | | | | | | | | raster paint engine for translucent windows. Task-number: QTBUG-12710 Reviewed-by: Jason Barron
| * | Register window types for Symbian system effectsJani Hautakangas2010-08-061-1/+57
| |/ | | | | | | | | | | | | | | | | | | Set the purpose of the window (dialog/popup/child window etc...). Notify WServ when modal window is shown/hidden Notify WServ when temporary surface deallocation happens. Notify WServ when the application is going to shutdown. Task-number: QT-2027 Reviewed-by: Jason Barron
| * Remove the memory tracking attempt from the runtime graphics system.Jason Barron2010-08-051-9/+1
| | | | | | | | | | | | | | | | | | It has been decided that this logic will not be used by anyone at the moment so let's remove it. This removes an exported (although private) virtual function so breaks binary compatiblity for plugins built with previous versions. Reviewed-by: Jani Hautakangas
| * Fixed key event handling on Symbian.axis2010-07-291-55/+109
| | | | | | | | | | | | | | | | | | | | | | | | | | | | After looking at QTBUG-11338 and Qt's behavior, it became clear that we needed more state tracking in the key event handling code, to be able to handle all the different ways that we can get key events. This inspired having three states for each used scan code, instead of the old code, which only took the current scan code into account. This should make Symbian behave identically to Linux. Task: QTBUG-11338 AutoTest: N/A, platform specific code. There was lots of manual testing on 5800, N97 and N95. RevBy: Jason Barron
| * Cleaned up old comments.axis2010-07-291-12/+0
| |
| * Refactored the virtual mouse handling code into its own function.axis2010-07-291-171/+180
| | | | | | | | RevBy: Trust me
| * Removed static on a member that didn't have to be.axis2010-07-291-4/+7
| | | | | | | | | | | | One step further towards no static data... RevBy: Trust me
| * Ensure that window rectangle is updated when CBA visibility changesGareth Stockwell2010-07-281-11/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In S60, there are two pieces of screen furniture, changes in whose visibility or size can affect the size of the Qt application window. These are the status pane, at the top of the screen, and the CBA at the bottom. QSymbianControl listens for changes in status pane visibility and size by implementing MEikStatusPaneObserver. Notifications received via this interface trigger a call to QSymbianControl::handleClientAreaChange() which resizes the control. There is no corresponding interface through which to receive notifications of changes in CBA visibility. This patch introduces a utility function for setting the visibility of both the status pane and CBA, which ensures that the control's rectangle is updated when either one changes. Task-number: QTBUG-5320 Reviewed-by: Jason Barron
* | Merge remote branch 'origin/4.7' into qt-master-from-4.7Olivier Goffart2010-07-281-0/+6
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | Conflicts: src/gui/kernel/qapplication.cpp tests/auto/qfileinfo/tst_qfileinfo.cpp tools/qdoc3/test/assistant.qdocconf tools/qdoc3/test/designer.qdocconf tools/qdoc3/test/linguist.qdocconf tools/qdoc3/test/qmake.qdocconf tools/qdoc3/test/qt-build-docs.qdocconf tools/qdoc3/test/qt.qdocconf
| * Fix crash caused by not clearing the QPixmapCache on application exit.Oleh Vasyura2010-07-261-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | The qt_cleanup() function will call CCoeEnv::DestroyEnvironment() on application shutdown. This destruction will in turn tear down the various server sessions associated with the application. One of these sessions is the FBSERV session and if the QPixmapCache attempts to delete a CFbsBitmap after the session has been destroyed, the app will crash. The solution is call QPixmapCache::cleanup() before we destroy the environment. This is inline with what the other platforms do. Reviewed-by: Jason Barron
| * Ensure backing store is deleted before top-level windowGareth Stockwell2010-07-261-0/+4
| | | | | | | | | | | | | | | | | | | | | | If this is not done, later deletion of the backing store may cause a crash. If the backing store is an EGL surface, its destruction includes a call to eglDestroySurface(), which triggers an exception if the window handle passed as a parameter is no longer valid. Task-number: QTBUG-10643 Task-number: QTBUG-11376 Reviewed-by: Jason Barron
* | Merge remote branch 'origin/4.7' into qt-master-from-4.7Thiago Macieira2010-07-151-6/+9
|\ \ | |/ | | | | | | Conflicts: src/gui/kernel/qapplication.h
| * Avkon removal configured with -no-s60mread2010-07-011-6/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Avkon dependencies can be configured out with the -no-s60 configure flag, conversely Qt on Symbian will use Avkon if -s60 is configured. These changes are intended to keep or introduce binary compatibility between the s60 and no-s60 configurations. To do this, it has been necessary to introduce stub equivalents of the CAknAppUi related classes into the no-s60 configuration, and override all Avkon framework virtual functions in the QS60Main... classes. Other than that, these changes are mostly just correcting the use of the Q_WS_S60 flag so that it only refers to Avkon dependencies. Reviewed-by: Sami Merila
* | Merge remote branch 'origin/4.7' into qt-master-from-4.7Thiago Macieira2010-07-011-0/+28
|\ \ | |/ | | | | | | | | | | | | | | Conflicts: bin/syncqt src/gui/text/qtextlayout.cpp tools/assistant/tools/assistant/helpviewer_qwv.cpp tools/assistant/tools/assistant/helpviewer_qwv.h tools/configure/configureapp.cpp
| * Fix a crash on exit. Destruction order in font database. (Symbian^4)Alessandro Portale2010-06-221-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The implementation for the QT_2746 task had a wrong destruction order of font database elements. The 'QSymbianTypeFaceExtras' in Symbian^4 hold a CFont which is retrieved from the Symbian ScreenDevice. They have to be released by the same ScreenDevice. The error was that the release was attempted after the connection to the ScreenDevice was closed. This fix causes an earlier destruction of all 'QSymbianTypeFaceExtras' and the removal of their their CFonts in qt_cleanup. While the connection to the ScreenDevice is still alive. Task-number: QT_2746