summaryrefslogtreecommitdiffstats
path: root/src/plugins/platforms/qnx/qqnxwindow.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* QNX: Make window groups work reliablyRoger Maclean2014-01-171-11/+38
| | | | | | | | | | | | | | | | | | | | | | | | Window group related code worked previously only for the 'root' window and other windows that had no parents (which then joined the window group of the root). Introduced a new function joinGroup that makes the group related calls, this can both join and leave groups. Default group joining is performed in setVisible now rather than setScreen. The advantage of setVisible is that one can rely on it getting called at some point but it is also possible to create and interact with a QQnxWindow before it is called. This allows the default group handling to be overridden via the native interface. If the group is set (or explicitly not set) then the default handling is not done. joinGroup is also called from setParent so that if the parent window is changed the window joins the parent group. Change-Id: I03e3801ecb4e4cf901c02e45f00472a87692c2ec Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com> Reviewed-by: Fabian Bumberger <fbumberger@rim.com>
* QNX: Fixed window positioningBernd Weimer2014-01-171-34/+3
| | | | | | | | | | Child windows have to keep their relative position when the parent is moved. Change-Id: I7d24d67578c9aaa332136d18ad9b478b120e4696 Reviewed-by: Roger Maclean <rmaclean@qnx.com> Reviewed-by: Kevin Krammer <kevin.krammer@kdab.com> Reviewed-by: Fabian Bumberger <fbumberger@rim.com>
* QNX: Fixed some window issuesBernd Weimer2014-01-171-4/+9
| | | | | | | | Corrected EGL error code query and cover windows creation in the "no-rootwindow" case. Change-Id: I86aaa4b59283f7153f8ab63c5bf231bc9da7538c Reviewed-by: Fabian Bumberger <fbumberger@rim.com>
* Merge remote-tracking branch 'origin/stable' into devFrederik Gladhorn2013-12-241-11/+20
|\ | | | | | | Change-Id: I2defae1904154283446b069d151c3ef57302ec7b
| * QNX: avoid composition when possibleMatt Hoosier2013-12-161-11/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Window buffers are currently always created with an alpha channel when the underlying display supports them. This is the correct thing to to in order to support translucency. However, the cost is that the composition manager unconditionally performs blending even when the use-case in the GUI doesn't make use of it. That is rather expensive, particularly on hardware which doesn't have extremely efficient dedicated 2D blitting hardware. This patch adds inspection of the user's requested window format and--if no blending is desired--sets an additional Screen window property which permits Screen to skip blending on the window surface. Change-Id: I83c100a351a00ef0e8bea1b1d1fec10b7218d1de Reviewed-by: Kevin Krammer <kevin.krammer@kdab.com> Reviewed-by: Bernd Weimer <bweimer@blackberry.com> Reviewed-by: Andreas Holzammer <andreas.holzammer@kdab.com> Reviewed-by: Frank Osterfeld <frank.osterfeld@kdab.com> Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
* | QNX: Fix focus handling for secondary screenFabian Bumberger2013-12-121-14/+1
|/ | | | | | | | | | | | This patch removes the activaton aand deactivation of a window when we get the window group activated event from the navigator. This event is sent to both the primary and secondary screen and does not state if a window should be active from a Qt perspective. A window should only be active if it has screen keyboard focus. Change-Id: Ibbed0dd76a21d86f4b580265f996357a8eef5192 Reviewed-by: Roger Maclean <rmaclean@qnx.com> Reviewed-by: Kevin Krammer <kevin.krammer@kdab.com> Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
* BlackBerry: Fixed root window size, continuedArvid Nilsson2013-11-231-3/+6
| | | | | | | | | | | | | | | | The previous patch removed a call to setGeometry, and now only calls setGeometryHelper. This means the screen window will be resized, but Qt won't know about our new window size. The scene graph of a QtQuick2 application would layout and render to the wrong target size. Fixed by adding a call to QWindowSystemInterface::handleGeometryChange if we decide to use a different geometry than suggested by the window. Task-number: QTBUG-34930 Change-Id: Ie91c2edc45c47f5bf1d45aed981b969fcc3f40dd Reviewed-by: Bernd Weimer <bweimer@blackberry.com> Reviewed-by: Fabian Bumberger <fbumberger@rim.com> Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
* BlackBerry: Fixed root window sizeBernd Weimer2013-11-201-6/+5
| | | | | | | | | | | On BlackBerry the first window shown is treated as root window and should be displayed full screen. The geometry has to be adjusted properly to achieve this. Task-number: QTBUG-34930 Change-Id: I6c011620116cc463e16dd352521b2b901a9f9f69 Reviewed-by: Fabian Bumberger <fbumberger@rim.com> Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
* Refactor QQnxWindowFabian Bumberger2013-11-111-57/+86
| | | | | | | | | | | | This patch does following things: * Remove the root window: First window which is created will serve as a root window * Allow creation of more than one application window (with every app window having an own window group) on one screen * Fixes a bug when reparanting an EGL window Change-Id: I1afd64a813bc084c0893b958aa191d4a25c32b9d Reviewed-by: Matt Hoosier <matt.hoosier@garmin.com> Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
* QNX: Manage foreign mmrenderer windowsRafael Roquetto2013-10-291-6/+31
| | | | | | | | | Manage and correctly set the z-order of a foreign created mmrenderer window by QtMultimedia Task-number: QTBUG-33816 Change-Id: I46273b945bf10991462fa72eb1ec8d00b0648988 Reviewed-by: Thomas McGuire <thomas.mcguire@kdab.com>
* QNX: Removed alternate window propertyBernd Weimer2013-10-141-3/+1
| | | | | | | | | Some older QNX versions don't support SCREEN_PROPERTY_ALTERNATE_WINDOW, so cover windows have generally been disabled on QNX. Change-Id: Ibe4b0abc39eb8497571f88c90876571576708d79 Reviewed-by: Sérgio Martins <sergio.martins@kdab.com> Reviewed-by: Thomas McGuire <thomas.mcguire@kdab.com>
* Added support for cover windows on BlackBerry platformBernd Weimer2013-09-201-6/+20
| | | | | | | | | | | | On the BlackBerry platform when an application is minimized an alternate cover window is shown. This patch allows Qt to render into those windows. A new window type "Qt::CoverWindow" has been introduced. Change-Id: If5e321f5cb00f6d3ed7a5dc0af425655d7a9253a Reviewed-by: Thomas McGuire <thomas.mcguire@kdab.com> Reviewed-by: Fabian Bumberger <fbumberger@rim.com> Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
* Split QQnxWindow into QQnxEglWindow and QQnxRasterWindowFabian Bumberger2013-09-181-390/+43
| | | | | | | | Change-Id: I2fb4096ccca54fa6631aa16c9b8d1308b0a6b918 Reviewed-by: Sergio Ahumada <sergio.ahumada@digia.com> Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com> Reviewed-by: Thomas McGuire <thomas.mcguire@kdab.com> Reviewed-by: Kevin Krammer <kevin.krammer@kdab.com>
* QNX: Prevent rendering when app is minimizedBernd Weimer2013-09-121-1/+12
| | | | | | | | | Windows will only be exposed and hence rendered when they are not minimized. This will save useless computations and hence battery. Change-Id: I83166cc6c3d89e878106c998a35890dd7788ed8a Reviewed-by: Fabian Bumberger <fbumberger@rim.com> Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
* Merge remote-tracking branch 'origin/stable' into devFrederik Gladhorn2013-08-271-2/+14
|\ | | | | | | | | | | | | Conflicts: examples/widgets/doc/src/addressbook-fr.qdoc Change-Id: Id1196e8e0c6445f1616c3f29234c974d809f8e48
| * [QNX]Fix transparenciesAndreas Holzammer2013-08-211-2/+14
| | | | | | | | | | | | | | | | | | | | It is not guaranteed that buffers are cleared when they are allocated. So don't use a buffer for the root window, and clear buffers for the actual content. Change-Id: I42939baec03fa05968c83bbf2739ab8d1d70c8be Reviewed-by: Matt Hoosier <matt.hoosier@garmin.com> Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
* | QNX: Enable rendering on different displays using OpenGLFabian Bumberger2013-08-081-19/+110
| | | | | | | | | | | | Change-Id: Ife9c090cff732aba42a5cbc04640721e8fdde69d Reviewed-by: Bernd Weimer <bweimer@blackberry.com> Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* | Merge remote-tracking branch 'origin/stable' into devFrederik Gladhorn2013-07-231-1/+1
|\| | | | | | | | | | | | | Conflicts: tests/auto/dbus/qdbusabstractinterface/tst_qdbusabstractinterface.cpp Change-Id: I18a9d83fc14f4a9afdb1e40523ec51e3fa1d7754
| * QNX: Handle Qt::WindowDoesNotAcceptFocus correctly.Friedemann Kleint2013-07-171-1/+1
| | | | | | | | | | | | | | | | | | | | Discovered while working on: Task-number: QTBUG-32385 Change-Id: Id1ff31ea6a367983676125810b4f49629233d374 Reviewed-by: Andreas Holzammer <andreas.holzammer@kdab.com> Reviewed-by: Frank Osterfeld <frank.osterfeld@kdab.com> Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
* | QNX: Silenced propagateSizeHints warningBernd Weimer2013-07-151-0/+6
| | | | | | | | | | | | | | | | | | On QNX propagateSizeHints is ignored. Default base class implementation is overridden to silence warning. Change-Id: I6c2df5e1943fdc1170c772b9bb4feb091726790f Reviewed-by: Fabian Bumberger <fbumberger@rim.com> Reviewed-by: Thomas McGuire <thomas.mcguire@kdab.com>
* | Merge remote-tracking branch 'origin/stable' into devFrederik Gladhorn2013-06-201-0/+1
|\| | | | | | | | | | | | | | | | | Conflicts: src/plugins/platforms/cocoa/qcocoafiledialoghelper.mm src/plugins/platforms/qnx/qqnxrasterbackingstore.cpp tools/configure/configureapp.cpp Change-Id: I3092bd3276af14304b7ab3ae1e1cc05d11cdede0
| * QNX: Fix screen rotationRafael Roquetto2013-06-191-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The behavior introduced by qtdeclarative's 475d1ed4f6a2 mandates that an expose event follows a geometry change event. The fix for this uncovered a bug on the raster backing store which caused the rotation to break on QtWidgets. The problem was rooted on the assumption that the QQnxRasterBackingStore::flush() method was only called after paints to the backing store surface, which was discovered to be a false assumption. Flushing the backing store can occur in other circunstances, which are out of scope on the context of the QNX plugin. Task-number: QTBUG-31329 Change-Id: Icfc3e85324f5a8745f6b5f189f27f8b763f770c7 Reviewed-by: Kevin Krammer <kevin.krammer@kdab.com> Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* | Merge remote-tracking branch 'origin/stable' into devFrederik Gladhorn2013-06-121-36/+44
|\| | | | | | | | | | | | | Conflicts: src/plugins/platforms/cocoa/qcocoamenubar.mm Change-Id: I4a699fc8a7f30b2af9de8e496c3d5f027b7495bb
| * QNX: fix QQnxWindowRafael Roquetto2013-06-071-36/+44
| | | | | | | | | | | | | | | | | | | | | | | | To ensure the correct event order, only set the geometry() once the window is actually made visible. We also need to post the expose event even for child windows (i.e., windows which have a parent). Change-Id: Ief80778bc3202352bd194e4b3ba655f619350b1a Reviewed-by: Kevin Krammer <kevin.krammer@kdab.com> Reviewed-by: Thomas McGuire <thomas.mcguire@kdab.com>
* | Merge remote-tracking branch 'origin/stable' into devFrederik Gladhorn2013-06-041-3/+14
|\| | | | | | | | | | | | | | | Conflicts: src/corelib/global/qglobal.h src/plugins/platforms/cocoa/qnsview.mm Change-Id: I6fe345df5c417cb7a55a3f91285d9b47a22c04fa
| * QNX: fix buffer creationMatt Hoosier2013-05-241-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | During some coding style cleanup in 02311c07 ("QNX: normalize braces") some braces which were actually necessary got removed. The result was an spurious report of a fatal error when no underlying error condition had occurred. This change restores the braces to preserve the prior behavior. Change-Id: Ic32fbd5961ce59f6c01476fd2cef6fec0bdae93e Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
| * QNX: Support window translucencyMatt Hoosier2013-05-231-2/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | A few tactical changes were necessary to do this: * The root window's buffer must be the full size of the window in order for transparency to work. We now transition this buffer to full-size upon first request of some QWindow to be translucent. At the same time the root window is transitioned to being full- screen, we also set its alpha blending mode to Source-Over in order to permit lower z-ordered apps to show through. * Set the root window's buffer position to (0, 0) to avoid a momentary flicker of unpainted pixels on the far right-hand border as a translucent window comes on-screen. * Use Source-Over alpha blending for normal child windows too. The QtGui core logic for setting the backing surface pixel format to something with an alpha channel if Qt::WA_TranslucentBackground is set on the toplevel QWidget already accomplished the remainder of the work. Change-Id: I1c2b31aa6323b4555fa194313f0f5e06ada494fc Reviewed-by: Kevin Krammer <kevin.krammer@kdab.com> Reviewed-by: Thomas McGuire <thomas.mcguire@kdab.com> Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com> Reviewed-by: Andreas Holzammer <andreas.holzammer@kdab.com>
* | Merge remote-tracking branch 'origin/stable' into devFrederik Gladhorn2013-05-231-49/+32
|\| | | | | | | | | | | | | | | | | | | | | Conflicts: src/corelib/io/qdatastream.cpp src/corelib/io/qdatastream.h src/corelib/json/qjsonwriter.cpp src/plugins/platforms/cocoa/qcocoawindow.mm src/plugins/platforms/xcb/qxcbkeyboard.cpp Change-Id: I46fef1455f5a9f2ce1ec394a3c65881093c51b62
| * QNX: normalize bracesRafael Roquetto2013-05-231-52/+26
| | | | | | | | | | Change-Id: I05f140a0626e543535cc74c6f737be9be1e27a5d Reviewed-by: Thomas McGuire <thomas.mcguire@kdab.com>
| * QNX: Add support for WindowDoesNotAcceptFocus flagAndreas Holzammer2013-05-111-0/+9
| | | | | | | | | | | | | | | | Set SCREEN_PROPERTY_SENSITIVITY to SCREEN_SENSITIVITY_NO_FOCUS of the screen window when the Qt::WindowDoesNotAcceptFocus window flag is set. Change-Id: Iac0764a84186c382dcd3f4bdd31dd24ac15df768 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* | QNX: Use 'disabled' child window buffers.Rafael Roquetto2013-05-091-0/+13
|/ | | | | | | | | | | Because there is only one QBackingStore per top-level window, child windows do not need to have their own buffer, since Qt will use the TLW backing store as their drawing surface. Since QNX's libscreen does not support windows without buffer, a 1x1 buffer is used instead. Change-Id: I4b81fdd0f3e6059c46b1d4302d2a754d72dc8a68 Reviewed-by: Kevin Krammer <kevin.krammer@kdab.com> Reviewed-by: Thomas McGuire <thomas.mcguire@kdab.com>
* [QNX] Fix build/runtime if QT_NO_OPENGL definedAndreas Holzammer2013-04-161-2/+3
| | | | | | Change-Id: I38d511ac0a53b65abfe47baaa6333629df5b578d Reviewed-by: Kevin Krammer <kevin.krammer@kdab.com> Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* QNX: Code cleanup: normalize 'if' macro usageRafael Roquetto2013-03-261-6/+6
| | | | | | | | | Always use "if defined" instead of "ifdef". The same is valid for "ifndef" macros Change-Id: I8e8f65e36dc636c10b3d656ce9a89ab3a664a80b Reviewed-by: Kevin Krammer <kevin.krammer@kdab.com> Reviewed-by: Thomas McGuire <thomas.mcguire@kdab.com>
* BlackBerry: implement QWidget::showMinimized()Rafael Roquetto2013-03-191-2/+36
| | | | | | | | Add window minimization capability on the plugin. Change-Id: I4539d29b8ebbef935213edde634f0a85b6a21766 Reviewed-by: Kevin Krammer <kevin.krammer@kdab.com> Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Delete the reference of the QNX screen in child windows on deletionFabian Bumberger2013-03-051-2/+8
| | | | | | Change-Id: Ic3e5deaeabe282ff44400aba80f8746067473030 Reviewed-by: Kevin Krammer <kevin.krammer@kdab.com> Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* QNX post an expose event when the window is hiddenFabian Bumberger2013-02-251-3/+3
| | | | | | | | | When the window is hidden, an expose event has to be be posted. This is e.g. needed by the qquickwindow. A exposeEvent calles the exposureChanged function of the window manager there. Change-Id: I9d891e07f81192dcd6674743620319c44da19c48 Reviewed-by: Wolfgang Bremer <wbremer@rim.com> Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* QNX: Don't crash with 0 by 0 sized windowsSergio Martins2013-02-191-2/+6
| | | | | | | | | | | | In the rare event of an invalid sized window, the application crashes because libscreen doesn't like creating empty buffers. Not creating the buffers at all would also be a solution, if we didn't have QPainter crashes due do null paint devices. Change-Id: I561d0082576b6226dd52129f9640952ba46273c8 Reviewed-by: Kevin Krammer <kevin.krammer@kdab.com> Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* QNX: Print the buffer size before crashing, for debug purposes.Sergio Martins2013-02-181-0/+1
| | | | | Change-Id: I2d423ee3717bb09b7bb2c63f645e5315be1fa611 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* QNX: Make QWidget::hide() work immediately.Sergio Martins2013-01-141-2/+8
| | | | | | | Change-Id: I3ea2556769703a8cd4c2931cc2332ab0733fbea6 Reviewed-by: Sean Harmer <sean.harmer@kdab.com> Reviewed-by: Kevin Krammer <kevin.krammer@kdab.com> Reviewed-by: Thomas McGuire <thomas.mcguire@kdab.com>
* QNX: Fix plugin compilationRafael Roquetto2012-12-041-1/+1
| | | | | | | | | Fix the plugin compilation after cd34da54269e6cd7fa5c18242d982736f022a14a renamed the QWindow API. Change-Id: I3ec4ce9ae2df9a66f6bf24a18277bc59c05d2e8e Reviewed-by: Lars Knoll <lars.knoll@digia.com> Reviewed-by: Thomas McGuire <thomas.mcguire@kdab.com>
* Removed temporary backwards-compat properties and accessors in QWindowShawn Rutledge2012-12-031-2/+2
| | | | | | Change-Id: I718b877e3b6c0b1191a932d934599d5c2f5aa958 Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com> Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
* QNX: Move buffer count check to appropriate locationRafael Roquetto2012-12-011-13/+14
| | | | | | | | | | | The buffer count check should take place right after buffers are created. For some reason, the buffer count value inside libscreen may become incosistent during the course of the program. Change-Id: Icbbaf4734eac5b0c5c95bdd93771899f9fcdb7db Reviewed-by: Kevin Krammer <kevin.krammer@kdab.com> Reviewed-by: Thomas McGuire <thomas.mcguire@kdab.com> Reviewed-by: Nicolas Arnaud-Cormos <nicolas@kdab.com>
* QNX: Fix crash due to re-entering QToolTip::show().Sergio Martins2012-11-211-2/+6
| | | | | | | | | | | | | | | | | | | The flushWindowSystemEvents() was added to send the geometry event synchronously. A side effect was that all input events were also sent. We don't want that. We're probably in setGeometry() because some other input event brought us here, and it's still in the call stack. One crashy example is the static method QToolTip::show() which uses static variables([1]). If we process input events while the first QToolTip::show() is still on the call stack, it will trigger a second one, deleting stuff ([1]) that the first invocation will still need once the stack unwinds. Change-Id: Iea22419a7f386d6b6231404666092340dfd1afed Reviewed-by: Thomas McGuire <thomas.mcguire@kdab.com>
* QNX: Query dynamic buffer count at runtimeRafael Roquetto2012-10-261-1/+13
| | | | | | | | | | | While unlikely, there are cases in which QQnxWindow::renderBuffer() is called before the window buffers have been created. Without this check, the program will abort on QQnxBuffer constructor, since the value that will be passed to it will be of an invalid buffer. Change-Id: I9ad5926dca856570032dcf10b6975e8f3364c284 Reviewed-by: Thomas McGuire <thomas.mcguire@kdab.com> Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* QPlatformWindow: change API for QPlatformWindow::setWindowStateRichard Moe Gustavsen2012-10-171-4/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | The current implementation requests the platform window to set the window state if it can, and return the actual window state back. The problem with this approach is that the platform window is created as late as possible, so a call to QWindow::setWindowState would in many (most?) cases never be forwarded to the platform window (instead, the platform window is responsible to check the current window state upon creation). As such, the window state might be left unsynched with the platform window. This patch suggests removing the return value from QPlatformWindow::setWindowState. This will at least be consistent, so that setting/getting state would produce the same result independent of delayed window creation. If needed, we can later add new API to QPlatformIntegration or QPlatformWindow for querying supported/actual window state. Change-Id: Ie43f56169656854a765ce88b47a808f8f3d51bb4 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Thomas McGuire <thomas.mcguire@kdab.com> Reviewed-by: Samuel Rødal <samuel.rodal@digia.com> Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
* Remove handleSynchronous* functions.Morten Johan Sorvig2012-10-101-1/+2
| | | | | | | | | | | | | | | | | | | | There are now two different ways to implement synchronous event processing. The platform plugins can choose which one to use. 1) flushWindowSystemEvents() Use to flush the event queue at one point, making preceding calls synchronous. 2) setSynchronousWindowsSystemEvents(bool enable) Makes all handle* functions synchronous, bypassing the event queue completely. Change-Id: I020b80c731fd13f855a377d7c91d06a4e39b6a0b Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Samuel Rødal <samuel.rodal@digia.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com> Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
* QNX: Only set parent window if it is not NULLRafael Roquetto2012-10-011-1/+1
| | | | | | | | | | | | | There are cases where a widget has a parent, but is also a toplevel window at the same time, causing the system window to have no parent. For instance, a QMenu usually has a QMenuBar as a parent, however QMenuBar itself does not have its own platform window, as opposed to QMenu. Thus QMenuBar::parent == QMainWindow (for example), but QMenuBar::platformWindow == 0x0; QMenu::parent == QMenuBar, but QMenu::platformWindow != 0x0 (which is QMenuBar's value). Change-Id: Ib203fa1b85f5f20ef53366c80d6752d6384a202d Reviewed-by: Thomas McGuire <thomas.mcguire@kdab.com>
* QQnxWindow: use a proper castMarc Mutz2012-09-291-4/+1
| | | | | | | | | Replace a C-cast with a const_cast. Casting doesn't care about nullptr, so don't check for one. Change-Id: I18a3e8f21d73b73385e567c7ceaf64e36aaa2cf3 Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com> Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* QNX: fix bug on window hierarchy listRafael Roquetto2012-09-281-8/+6
| | | | | | | | | removeFromParent() must not be called from raise()/lower(), because it wrongly sets m_currentParent to 0, causing the parent/child link to be broken after a call either of these methods. Change-Id: I58f847dc4a46f2cf120cb3acf230bac46bcf24f5 Reviewed-by: Thomas McGuire <thomas.mcguire@kdab.com>
* QNX: fix assert condition on the destructorRafael Roquetto2012-09-281-1/+1
| | | | | | | | m_childWindows must be 0 (and not > 0), since at this point it should have no children. Change-Id: I149e34849cab2d56f8617cc04fc6bf95c0476e4c Reviewed-by: Sean Harmer <sean.harmer@kdab.com>