summaryrefslogtreecommitdiffstats
path: root/src/gui/kernel
Commit message (Collapse)AuthorAgeFilesLines
* Diacritic input broken, duplicate the base glypha (on Mac OS X carbon)Prasanth Ullattil2011-06-091-2/+11
| | | | | | | | | This was a regression introduced by 8da880e77db04c. The saved key event needs to be cleared if we process a valid raw key event. Task-number: QTBUG-7099 Reviewed-by: Richard Moe Gustavsen (cherry picked from commit e30e3bb524536ef0f6b55272901b24bbbd4dfbd6)
* Dont crash when assigning the same input context twice.Denis Dzyubenko2011-06-092-4/+10
| | | | | | | | | | | | Added a guard check to return if the given input context is the same is we already have. Explicitly mention in the doc that we take ownership of the given input context object. Task-number: QTBUG-10780 Reviewed-by: Thomas Zander (cherry picked from commit a32c96e753c2f5a123e518a92762ec9c9ff3b0b7)
* Force the repaint during a window resize.Fabien Freling2011-06-091-2/+3
| | | | | | Reviewed-by: Morten Sorvig Task-number: QTBUG-6384 (cherry picked from commit 3aee7881eaa45d4cbc1d0a353772cbf44638dadc)
* After showing modal windows, WM_LBUTTONUP for double click is ignored.Prasanth Ullattil2011-06-091-0/+4
| | | | | | | | | We should not ignore WM_xBUTTONUP messages after WM_xBUTTONDBLCLK. Treat these messages like WM_xBUTTONDOWN messages. Task-number: QTBUG-7172 Reviewed-by: Thierry (cherry picked from commit 3fbedcd085b3e89e3646bf49264001ee216c5852)
* Do not create native window handle just because a parent has one.Denis Dzyubenko2011-06-091-1/+1
| | | | | | | | | | On X11 when creating a widget that has a parent, there is no reason to create a native window handle right away since we don't know yet if the window is going to be ever shown. Task-number: QTBUG-9215 Reviewed-by: Bradley T. Hughes (cherry picked from commit 1d506981bcc3d2b8aad67989fd7946a0ad826856)
* Do not deliver the same key event multiple times in Cocoa.Denis Dzyubenko2011-06-093-28/+19
| | | | | | | | | | | | When QCocoaView receives a keyDown or keyUp event, we translate it to QKeyEvent and deliver it to qt widgets, propagating if necessary. However if none of Qt widgets accepted the event we should propagate it back to cocoa - to get a beep from it, or for example if Qt widget is embedded into a native widget. Task-number: related to QTBUG-6444 Task-number: QTCREATORBUG-698 Reviewed-by: Richard Moe Gustavsen (cherry picked from commit 90dfb5e5d8fc8cb841b0762cd88aa4b996c38312)
* Change behavior of applicationShouldTerminate.Fabien Freling2011-06-091-8/+5
| | | | | | | | | We now terminate the application as long as Qt says we can. If not, then we cancel the termination. Task-number: QTBUG-6296 Reviewed-by: Morten Sorvig(cherry picked from commit 12308db7663679e42c87aa72c564ec3f9f1a457f)
* Fix GL viewports under -graphicssystem raster.Gunnar Sletta2011-06-091-2/+3
| | | | | | | GL widgets and native controls have paintonscreen set and bypasses backingstore. They can thus not rely on the windowsurface flushing but must be repainted via normal means (cherry picked from commit ac99b3e243b331d26815b80aab97cdaf0ed06b0f)
* Cocoa: Sheets loose their opacity on 2nd showRichard Moe Gustavsen2011-06-091-2/+3
| | | | | | | | | | | It turns out that setParent_sys is wiping out opacity for the window regardless of what the value is from before. This patch does the correct thing, namely look at the WA_WState_WindowOpacitySet flag. Task-number: QTBUG-5100 Reviewed-by: cduclos (cherry picked from commit 06638a4c08aaf86d606abc59f642c3c34815e8e6)
* Incorrect mouse coordinates used when compressing WM_MOUSEMOVE messages.Prasanth Ullattil2011-06-091-1/+4
| | | | | | | | | Use the coordinates passed in the LPARAM parameter, the pt passed with the MSG is not always correct. Task-number: QTBUG-7637 Reviewed-by: Denis (cherry picked from commit 234e849cfc85d5618d2f703bb92701042993d2de)
* Reusing sheets on Mac OS X 10.5 & above shows painting artifacts.Prasanth Ullattil2011-06-091-0/+2
| | | | | | | | | | | Window modal dialogs are shown as sheets on Mac, reusing them is showing some painting artificats. So make sure we create a new window everytime a sheet is shown. This only applies to Carbon, the Cocoa versions dont have this problem. Task-number: QTBUG-8198 Reviewed-by: MortenS (cherry picked from commit 08ec00c081ce51a924c65df3998657174f9428b6)
* Always construct s60 screen furniture even if not used.Janne Koskinen2010-06-011-4/+1
| | | | | | | | | Not creating screen furniture in full screen caused regression when swapping into idle screen and back on Nokia 5800. Task-number: QTBUG-10985 Reviewed-by: Jason Barron (cherry picked from commit 4a4e5e7d54c559d54e9079dacb9c2fd32770f018)
* Change to release licenses for 4.6.3.Jason McDonald2010-05-30190-2470/+2470
| | | | Reviewed-by: Trust Me
* Post QResizeEvent from QSymbianControl::SizeChanged even when invisibleGareth Stockwell2010-05-271-0/+3
| | | | | Task-number: QTBUG-10986 Reviewed-by: Jason Barron
* Backport multitouch bug fixes to 4.6Shane Kearns2010-05-212-7/+19
| | | | | | | | | | | | | commit 24b811e53b30546279346ab7b16799be119ab8c4 on 4.7 includes bug fixes which are needed for 4.6 as well. 1. TouchEnd event was missing 2. pressure in touchpoints was set to 0.0 for non pressure sensitive touch screens, it should be set to 1.0 for consistency with existing Qt ports (e.g. mac). Task-number: QTBUG-10885 Reviewed-by: Bradley T. Hughes
* Fix spurious mouse click when dismissing a native menuShane Kearns2010-05-121-4/+6
| | | | | | | | | | | | Native menus are dismissed by the key press event. The Qt application then receives the key up event, as it now has keyboard focus. The virtual mouse implementation now filters out select key press/release which don't match the expected mouse button state. Task-number: QTBUG-9860 Reviewed-by: Alessandro Portale
* Don't crash when applications set Qt::WA_TranslucentBackground.Jason Barron2010-05-121-1/+3
| | | | | | | | | | | | | | | After replacing some code with a function call to s60UpdateIsOpaque() we introduced a crash for widgets that set Qt::WA_TranslucentBackground. The reason for the crash was that the Qt::WA_WState_Created attribute was being set before calling this function, but *not* before setWinId() was being called. This meant that s60UpdateIsOpaque() assumed that the window was created (and the handle added to the widget map), but this was not actually the case. The fix here is to move the call to s60UpdateIsOpaque() after the call to setWinId() such that those assumptions are true. Reviewed-by: Jani Hautakangas
* Windows CE: fix multiple QAction::triggered() signalsJoerg Bornemann2010-05-071-1/+1
| | | | | | | | | Adding the same menu action object to n menu bars resulted in n QAction::triggered() signals. Now, we're comparing the active window with the parent HWND of the menu bar before triggering. Task-number: QTBUG-10402 Reviewed-by: thartman
* Map Symbian touch points to the screen's coordinate system.Jason Barron2010-04-291-1/+1
| | | | | | | | The 'iPosition' that we receive from the TAdvancedPointerEvent is relative to the origin of the window that received the event, not the screen so it needs to mapped to be correct. Reviewed-by: Bradley T. Hughes
* Removed fullscreen responsiveness of softkeysMiikka Heikkinen2010-04-282-18/+0
| | | | | | | | | | | | | The CEikCba class casting is not binary compatible between at least S60 3.2 and 5.0 platforms, even though it is source compatible. The removed code was causing stack corruption on emulator when binaries were built on S60 3.2 SDK and run on S60 5.0 SDK. Another solution for this feature needs to be found. Task-number: QTBUG-10199 Reviewed-by: Shane Kearns Reviewed-by: Janne Anttila
* Fix window transparency on Symbian.Jason Barron2010-04-211-10/+1
| | | | | | | | | | | | | In the create_sys() function where native handles are created, we were only looking at the "isOpaque" flag to determine if a window should be translucent or not. This is not the correct thing to do because transparency should only be granted if the application explicitly sets the Qt::WA_TranslucentBackground flag. The fix is to defer the transparency decision to s60UpdateIsOpaque() which does the right thing. Reviewed-by: Jani Hautakangas
* Tweak the 'normalGeometry' of the widget before setting it.Jason Barron2010-04-211-2/+11
| | | | | | | | | | | If a widget is initially shown as maximized or fullscreen then the normal geometry is calculated before the status pane has been created. When returning to the "Normal" window state the geometry needs to be tweaked to compensate the fact that there is a status present now. This should only happen if the application has not been given an explicit position. Reviewed-by: Janne Anttila
* Use QDesktopWidget as a status pane observer on Symbian.Jason Barron2010-04-213-1/+15
| | | | | | | | | | | | | | | | | Now that the S60 screen furniture construction is delayed, we need to manually set the status pane observer to get notifications about changes in the size of the status pane. Using the AppUi would have been the obvious choice here, but sadly CAknAppUi (base class for QS60MainAppUi) uses private inheritance when implementing the MEikStatusPaneObserver interface. To work around this problem we make QSymbianControl implement the interface and use the instance of this class that is associated with QDesktopWidget to recevive the notifications and then call the function in the AppUi to maintain the same behavior. Reviewed-by: Janne Anttila Reviewed-by: mread
* Delay creation of S60 screen furniture.Jason Barron2010-04-213-0/+39
| | | | | | | | | | | | | | Previously the S60 screen furniture (Status Pane and CBA) was being constructed when QApplication was constructed. This meant that if you never created a widget, you would still get those app panes which is not what we want. This patch avoids constructing these panes in QApplication, and manually creates them later when the first window is shown in a state where they would be needed. Reviewed-by: Janne Anttila Reviewed-by: mread
* Don't use setGeometry() in setWindowState() on Symbian.Jason Barron2010-04-211-5/+7
| | | | | | | | | | setGeometry() has the side effect that it internally sets both the WA_Moved and WA_Resized attributes and these attributes should only be used when the application has explicitly set a size or position. When a widget is resized due to being maximized or fullscreened then we should resize the native window handle instead of calling setGeometry. Reviewed-by: Janne Anttila
* Modify setWindowState() on Symbian to create the native window earlier.Jason Barron2010-04-211-2/+3
| | | | | | | | The native window is used quite early in this function so as soon as we determine that this does in fact require a native window, we should create it immediately. Reviewed-by: Janne Anttila
* Merge branch '4.6' of scm.dev.nokia.troll.no:qt/oslo-staging-2 into ↵Qt Continuous Integration System2010-04-191-0/+11
|\ | | | | | | | | | | | | | | | | 4.6-integration * '4.6' of scm.dev.nokia.troll.no:qt/oslo-staging-2: QMenu: Behavior regression Mac: Graphics View starving user events and sometimes crashes. Fixed a crash on Windows 7 systems with invalid PrinterPorts entries.
| * Mac: Graphics View starving user events and sometimes crashes.Bjørn Erik Nilsen2010-04-161-0/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem was that we called processEvents() and excluded user input events. The idea was to only process pending update requests, but by doing that there's also a chance that user input events will starve. Also, there's no gurantee that only update requests will be processed by processEvents(), so a safer solution is to call "HIViewRender" on Carbon and "displayIfNeeded" on Cocoa. This will for sure dispatch pending update requests and nothing else (which is exactly what we want). No auto test regressions. Fixes tst_qgraphicsproxywidget::updateAndDelete failure on Carbon. Benchmarks indicate an increase in performance. Task-number: QTBUG-7502 Reviewed-by: richard
* | Merge branch '4.6' of scm.dev.nokia.troll.no:qt/qt-s60-public into ↵Qt Continuous Integration System2010-04-152-2/+2
|\ \ | |/ |/| | | | | | | | | | | | | 4.6-integration * '4.6' of scm.dev.nokia.troll.no:qt/qt-s60-public: Symbol visibility fixes for RVCT4 on Symbian Symbol visibility fixes for RVCT4 on Symbian Symbol visibility fixes for RVCT4 on Symbian
| * Symbol visibility fixes for RVCT4 on SymbianIain2010-04-152-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | RVCT 4 is far more strict with regards to symbol visiblity that RVCT 2.2, and will hide symbols unless all references have default visibility in the object files. Update the various places in Qt code where the symbol visibility was set incorrectly for DLL-based platforms (those that use __declspec(dllimport) and (dllexport). Note: QtWebkit and QtScript are fixed in different commits. Task-number: QTBUG-9903 Reviewed-by: Jason Barron
* | Fixes tooltips for QGraphicsProxyWidget.Yoann Lopes2010-04-151-2/+2
|/ | | | | | | | | Help event was not propagated to the widget. Also fixes tooltip value propagation when setting it on the proxy or on the widget. Autotest included. Task-number: QTBUG-5349 Reviewed-by: bnilsen
* Generate triggered signal even the action launches menu in Symbian.Janne Anttila2010-04-091-8/+8
| | | | | | | | | | | Triggered signal is useful for detecting native 'Options' menu launches in Symbian. QMenu::aboutToShow event is currently also not generated, but that is part of another bug report. And QMenu::aboutToShow would not even be generated for 'Options' menu itself but only for its sub/cascade menus. Task-number: QTBUG-9669 Reviewed-by: Sami Merila
* Fixed focus and window activation events on Symbian when opening menu.Janne Anttila2010-04-084-4/+20
| | | | | | | | | | | | | | | | | | As described in QTBUG-8698, Qt for Symbian has been generating incorrect focus and window activation events. This has happened since launching menu from QSoftkeyManager with TryDisplayMenuBarL, invokes eventually QSymbianControl::FocusChanged. But when the FocusChanged is called menu being launched is not yet set to visible, meaning that IsDisplayingMenuOrDialog returns false. Because there is no way in platform to detect that menu is being launhced, the fix is to add a new flag QS60Data, which can be used to detect if FocusChanged event is received due to the fact that menu is being constructed/launched. Task-number: QTBUG-8698 * Fixes issues 2, 3 and 4 Reviewed-by: Sami Merila
* QTBUG-4887 and other exception safety fixesmread2010-04-072-4/+13
| | | | | | | | | | | | | | | | | | | | This change includes a fix for QTBUG-4887 and other exception safety problems found while testing it. The QTBUG-4887 fix is to qimage.cpp. QImage doesn't throw exceptions on failure like a proper class should, instead it tries to fail "nice". What happens here is that setAlphaChannel would crash on OOM as after the convertToFormat call, d could be NULL. This new version checks the result of the conversion before using it. The other fixes are all cases where exceptions were thrown from destructors. I added code to the test app to help debug these cases, and I fixed all the problems I found. With these changes, tst_exceptionsafety_objects runs and passes on the Symbian emulator. Reviewed-by: Shane Kearns
* Fixed modal dialog not to have automatic "Exit" right softkey in S60.Janne Anttila2010-04-063-12/+5
| | | | | | | | | | | During softkey refactoring this piece of code get changes, but the changed code did not work correctly if window had no softkey actions. Switched back to old way where softkey source is stored to variable, and windowType is asked from stored variable. If softkey source is dialog or popup, "Exit" is not added automatically to RSK. Task-number: QT-2203 Reviewed-by: Sami Merila
* Fix doc for deprecated QGridLayout::colSpacing: point to existing methodDavid Faure2010-04-031-1/+1
| | | | | Merge-request: 544 Reviewed-by: Benjamin Poulain <benjamin.poulain@nokia.com>
* Fixed bitfield-related crash on Symbian WINSCWGareth Stockwell2010-03-291-10/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | When running on WINSCW, the nativePaintMode variable was becoming corrupted. The point at which this corruption occurs is unclear, but it can be reproduced as follows: 1. Launch qmediaplayer 2. In the Phonon::MMF::DsaVideoOutput constructor, the nativePaintMode flag is set to QWExtra::ZeroFill 3. Open a video clip 4. During start of playback, QSymbianControl::Draw is called on the native control corresponding to the DsaVideoOutput object. This checks the value of nativePaintMode; it does not match any of the valid NativePaintMode values, so an assertion fails. This crash does not occur on target, suggesting that the cause may be an error in the WINSCW compiler. Although the C++ standard allows bitfields to have boolean, integral or enumeration type, the latter is not permitted by C99. Neither increasing the number of bits allocated to nativePaintMode, nor changing it position in the list of platform-specific bitfields has any effect. After making nativePaintMode into a normal field rather than a bitfield, the crash no longer happens. Note that, since bitfields must be kept together, nativePaintMode is moved to the end of the structure.
* Hotfix to const usage in 262e98f9a29385f99cd6f768632264e0b621dc01Janne Anttila2010-03-231-3/+3
| | | | Reviewed-By: TrustMe
* Fixed S60 softkey implementation to use popup/modal dialog softkeys.Janne Anttila2010-03-233-13/+59
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously softkey implementation assumed that source for softkey actions is focused widget or activewindow if there is no focused widget. Since for example pop-up menu does not take focus immediately in touch enabled devices, the underlying widget softkeys were visible and usable when menu was open. This lead to problem that underlying widget could be interacted via softkeys when popup menu was open. For example as reported in QTBUG-8688, it was possible to close the underlying filedialog from which the currently active context menu was launched. It was also possible to open "Options" menu of underlying widget when context menu was open, leading to situation where several context menus could be launched via "Actions" item of "Options" menu. This was reported as an issue: QTBUG-6167 In addition when user started navigating in context menu via keypad, the menu got focus and softkeys changed to partially correct. Only partially correct, since context menu "Select" action and "Options" action had same priority and both associated to LSK. In addition the context menu action "Cancel" associated to RSK was set to invisible, meaning that it was also disabled and appeared in sofkeys as dimmed. All of these issues were fixed by making making the popup and modal dialogs highest priority softkey source. In case the focused widget is inside popup or modal dialog it is being used as an initial softkey source. In addition the softkeys created with QSoftKeyManager::createAction or QSoftKeyManager::createKeyedAction are now by default invisible i.e. not visible in context menu and have special property set to make them still normally enabled in softkeys. Task-number: QTBUG-6167 Task-number: QTBUG-8688 Task-number: QTBUG-9144 Reviewed-by: Sami Merila
* Fixed 'fullsreen with softkeys' mode not to expand under softkey area.Janne Anttila2010-03-233-25/+29
| | | | | | | | | | | availableGeometry returns incorrect area after cba is made invisible, it seems that this happens because CAknToolbar is not made invisible. Fixed the problem by reverting back to SetExtentToWholeScreen usage when the widget is really fullscreen, i.e. Qt::WindowSoftkeysVisibleHint is not set. Task-number: QTBUG-9038 Reviewed-by: Miikka Heikkinen
* Fixed table formatting in QSound documentationMiikka Heikkinen2010-03-221-1/+2
| | | | | | Added the missing \row tag Reviewed-by: TrustMe
* Improved qt_x11_wait_for_window_managerDenis Dzyubenko2010-03-191-28/+10
| | | | | | | | | | | | | We shouldn't really care about ReparentNotify when waiting for a window to be "managed" by the window manager. We only need to wait until the window is Mapped and Exposed for the first time, then we (most likely) can safely assume that the window manager has finished managing the window. Task-number: QTBUG-9097 Reviewed-by: Bradley T. Hughes (cherry picked from commit fb6cfbe48bc4f2148062d50d4df95616e06f9324)
* Merge branch '4.6' of scm.dev.nokia.troll.no:qt/qt-s60-public into ↵Qt Continuous Integration System2010-03-181-6/+8
|\ | | | | | | | | | | | | | | 4.6-integration * '4.6' of scm.dev.nokia.troll.no:qt/qt-s60-public: Initialize the graphics system before creating the style. Added support for video surfaces to Phonon MMF backend
| * Initialize the graphics system before creating the style.Jason Barron2010-03-181-6/+8
| | | | | | | | | | | | | | | | | | | | | | | | Previously if the style was creating any pixmaps they were going to the createDefaultPixmapData() function which creates a default platform pixmap without considering the graphics system. If these pixmaps are used they may end up going through a suboptimal code path because they are not the same type of pixmap that is expected by the graphics system. The fix here is to intialize the graphics system before the style is created. Reviewed-by: Trond
* | Merge branch '4.6' of scm.dev.nokia.troll.no:qt/oslo-staging-1 into ↵Qt Continuous Integration System2010-03-181-1/+10
|\ \ | |/ |/| | | | | | | | | 4.6-integration * '4.6' of scm.dev.nokia.troll.no:qt/oslo-staging-1: QToolTip may be placed incorrectly when using FullScreen mode - Mac OS X
| * QToolTip may be placed incorrectly when using FullScreen mode - Mac OS XCarlos Manuel Duclos Vergara2010-03-181-1/+10
| | | | | | | | | | | | | | | | | | | | When in full screen mode, there is no Dock nor Menu so we can use the whole screen for displaying the tooltip. However when not in full screen mode we need to save space for the dock, so we use availableGeometry instead. Task-number: QTBUG-8402 Reviewed-by: Prasanth
* | Fixed a bug where a proxy widget received FocusIn over and over.axis2010-03-181-0/+2
|/ | | | | | | | | | | This also fixed the issue where an input panel would not be requested by the widget, because it thought it was being focused over and over, instead of focused, and then clicked (focus followed by click is default input panel popup behavior on Symbian). AutoTest: Included and passed RevBy: yoann RevBy: Jan-Arve
* Change QS60Style to use combobox popup menuSami Merila2010-03-171-1/+7
| | | | | | | | | | | | | | | | | | | | Instead of using traditional dropdown menus, use popup menu, like native side does. Related to https://qtrequirements.europe.nokia.com/browse/QT-2274 Popup is positioned according to S60 popup position rules: - in portrait at the bottom, with square popup (dimension is screen width minus border) - in landscape, centered on Y-axis, on X-axis to the right border (with LeftToRight UI direction) Background behind popup is dimmed. Popup has automatic scrollbar if content does not fit into the popup. Popup background graphic is S60 dialog graphic. Task-number: QT-2274 Reviewed-by: Alessandro Portale
* Fixed filename cases to support building Qt for Symbian in LinuxMiikka Heikkinen2010-03-124-5/+5
| | | | | | | Part of QtP delta reduction effort. Task-number: QT-3055 Reviewed-by: Janne Koskinen
* Merge branch '4.6' of scm.dev.nokia.troll.no:qt/qt-s60-public into ↵Qt Continuous Integration System2010-03-122-2/+20
|\ | | | | | | | | | | | | | | 4.6-integration * '4.6' of scm.dev.nokia.troll.no:qt/qt-s60-public: HotFix for fluidlauncher default size caused by 6d44dadd. Removed compiler warning from qdesktopwidget_s60.cpp.