aboutsummaryrefslogtreecommitdiffstats
path: root/src/quick
Commit message (Collapse)AuthorAgeFilesLines
...
| * | Fix up listening for layout direction changes.Robin Burchell2013-12-101-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Change the event type to ApplicationLayoutDirectionChange. LayoutDirectionChange is sent for QWidgets only at present, and was wrong anyway: each widget may have a different layoutDirection, but the application instance only has one -- tied to ApplicationLayoutDirectionChange. Relies on I2d2ac7dc07f11be5c7e501a3575b1d0978d8ac31 from qtbase to actually function. Task-number: QTBUG-21573 Change-Id: Ibee25927b2213ae9145d46556698f54d5129bd06 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Alan Alpert <aalpert@blackberry.com>
| * | Mark item as dirty when nodes are cleanedMichael Brasser2013-12-102-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | Otherwise they may not be recreated in the correct configuration. Change-Id: Ib103b1874d7f104680eae7b6f43f722b5fa93bf2 Done-with: Aaron Kennedy <aaron.kennedy@jollamobile.com> Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
| * | QSGRenderer: sanity check attribute regs only when QSG_SANITY_CHECK=1J-P Nurmi2013-12-101-4/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The sanity check that attribute registers are disabled that was always done in debug mode took roughly 16ms on my machine and caused a trivial QML animation to eat 100% CPU. Task-number: QTBUG-35443 Change-Id: I8ba2a80db341d17e08216b3cad1678dd59b9b1a5 Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
| * | Correctly profile the size of loaded pixmapsUlf Hermann2013-12-091-6/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Only set the sizes when they're known, prefer request size to implicit size (as the request size is what ends up in the cache), and don't set the size twice. Task-number: QTBUG-35337 Change-Id: Ie516a1cae2d9050f61362ee99cf8a6a9dd8ea3bb Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
| * | Fix crash in QQuickLoader when source component is garbage collectedSimon Hausmann2013-12-062-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It may happen that the QQuickLoader is the last entity left in the system holding a reference to the QQmlComponent *sourceComponent. We have to let the garbage collector know about that by keeping a persistent value for it. Task-number: QTBUG-35334 Change-Id: I715864440378fd9dd4f2d5ef8ff2f171c81ed7ef Reviewed-by: Lars Knoll <lars.knoll@digia.com>
| * | Profile a pixmap start event also when loading is asynchronous.Ulf Hermann2013-12-061-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If those events aren't profiled we get unmatched events for finished loading and errors. Task-number: QTBUG-35337 Change-Id: I132638edf5625566e37ee06453484f80b2adb74a Reviewed-by: Ulf Hermann <ulf.hermann@digia.com> Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
| * | Fix: QSGGeometry lineWidth in qsgbatchrendererTorgeir Lilleskog2013-12-061-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | lineWidth was ignored in the new scenegraph batchrenderer. Regression from 5.1.1 Task-number: QTBUG-35346 Change-Id: I80eacc165f70b5f39d4a01cf458ab1a0e49cbd2d Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
| * | Propegate filtering state when we extract texture from atlas.Gunnar Sletta2013-12-061-0/+1
| | | | | | | | | | | | | | | | | | | | | Task-number: QTBUG-35395 Change-Id: I5ac08ade7763d14bca855b8300156aee0e6a6920 Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
| * | Only emit focusObjectChanged when an actual change occurs.Michael Brasser2013-12-061-2/+6
| | | | | | | | | | | | | | | | | | | | | Change-Id: If18b460a8773e5cac597c02c51836b79711c20f4 Done-with: Matthew Vogt <matthew.vogt@jollamobile.com> Reviewed-by: Simon Hausmann <simon.hausmann@digia.com> Reviewed-by: Alan Alpert <aalpert@blackberry.com>
| * | Fix Flickable StopAtBounds drag over, back, over behavior.Martin Jones2013-12-051-28/+46
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | A Flickable with StopAtBounds failed when: 1. position on a boundary. Without lifting your finger: 2. attempt to drag beyond the boundary -> doesn't drag 3. drag back to initiate dragging 4. attempt to quickly drag beyond the boundary. After 4, the view should be back on the boundary, but it could get stuck a little short of the boundary. Change-Id: I9bfbb4293f4d464bddb97c5c37e9bb91ed7d48e4 Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
| * | Encapsulate the current context and fix it's usageLars Knoll2013-12-041-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Encapsulate accesses to the current context, and rework the way we push and pop this context from the context stack. Largely a cleanup, but simplifies the code in the long term Change-Id: I409e378490d0ab027be6a4c01a4031b2ea35c51d Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
| * | Move the vtable pointer from the object to the internal classLars Knoll2013-12-041-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | This saves one pointer per object, and willmake other optimizations easier in the future. Change-Id: I1324cad31998896b5dc76af3c8a7ee9d86283bfe Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
| * | Merge "Merge remote-tracking branch 'origin/release' into stable" into ↵Frederik Gladhorn2013-12-037-77/+139
| |\ \ | | | | | | | | | | | | refs/staging/stable
| | * | Merge remote-tracking branch 'origin/release' into stableFrederik Gladhorn2013-12-037-77/+139
| | |\| | | | | | | | | | | | | Change-Id: I894ad7b4888744833f487b481950c087fa960a5c
| | | * Fix style animations to stop when the item is hiddenJ-P Nurmi2013-12-031-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | QStyleAnimation automatically stopped for hidden QWidgets, but didn't know anything about QQuickItems and kept animating regardless of their visibility. QStyleAnimation was changed so that it will keep animating only as long as the animation target accepts animation updates. This change ensures that the style animation updates are accepted only when the item is visible. Task-number: QTBUG-35319 Change-Id: I3c93a653316b8abbbc32940cd7499b660828eff8 Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com> Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
| | | * Safely abort when we don't succeed in creating a GL context.Gunnar Sletta2013-12-032-3/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Task-number: QTBUG-33363 (cherry-picked from commit 12eab9162781) Change-Id: Ia2b0c329157786cb4ec703989f12d2fdb1ce6bc8 Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
| | | * Doc: Change the order of QQuickText function definitionsTopi Reinio2013-11-301-49/+49
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | For Text QML type, some property and method documentation is missing from the output because in the source file, they appear before the '\qmltype Text' command. This change reorders the functions so that qdoc will see all documentation for Text QML type. Task-number: QTBUG-35018 Change-Id: Icd995f66679d5105912ee12a7aeffd510921a54d Reviewed-by: Martin Smith <martin.smith@digia.com> Reviewed-by: J-P Nurmi <jpnurmi@digia.com>
| | | * Handle boundingboxes with NaN in them.Gunnar Sletta2013-11-302-8/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | NaN does not compare well with other floats. The result is that the bounding box is left at its initial values, FLT_MAX for top-left and FLT_MIN for bottom-right. If so, treat geometry as invalid, aka infinite. Task-number: QTBUG-35192 Change-Id: I1df6987d56a0ce1f500b0eba344a5dcbc55f80a4 Reviewed-by: Mitch Curtis <mitch.curtis@digia.com> Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
| | | * Ensure that QML Windows respect the default platform window stateTor Arne Vestbø2013-11-301-1/+79
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The 'visible' property of a Window would be set on the baseclass QWindow like any other property during QML component creation, which would cause create() to be called and the platform window would be created. This left the 'visibility' of the QML window as Windowed, not respecting the platform defaults for how windows should be shown. The user would have to explicitly set "visibility: Window.AutomaticVisibility" for this default to apply, which doesn't make sense -- it should be the default. We solve this by deferring setVisible and setVisibility on the window until the component is complete and we have a full picture of its state. We then ask the platform for the default state based on the window flags (ensuring that eg "flags: Qt.Popup" will not result in maximized windows on iOS and Android), and apply the deferred visibility. The deferred visibility may still be 'false', but setting the window state makes sense anyways, so that a later "visible = true" will apply the default window state. Deferring platform window creation until the geometry has been potentially set from user code also has the benefit that the platform window can check the geometry and apply a default geometry if it's null. This was not possible when the 'visible' property was a regular property, as you could not know if the user's geometry changes would come after platform window creation. Task-number: QTBUG-35174 Change-Id: Icf3236187992048a85b2196c059f9b54699041a4 Reviewed-by: Simon Hausmann <simon.hausmann@digia.com> Reviewed-by: Robin Burchell <robin+qt@viroteck.net> Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
| | | * Revert 99480d5420c0beea6771be582c039b550a4461f5Gunnar Sletta2013-11-272-18/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The Mac OS X platform plugin has been fixed so that this hack is no longer needed. Not to mention that it breaks on XCB. We keep the warning about bad exposes from the plugin in debug mode. These are still useful for tracking down future bugs. Task-number: QTBUG-35143 Change-Id: I5125f7ae2b7fd77c55e9a29b10aa5434598a9ea9 Reviewed-by: Ulf Hermann <ulf.hermann@digia.com> Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
| * | | Improve the Canvas threading modelGunnar Sletta2013-12-039-176/+251
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The canvas classes were mixing scene graph resources and GL content across threads. This led to a number of potential crashes in addition to that the FBO based rendering had significant potential for stalling. QQuickContext2DTexture is no longer a QSGTexture with ambiguous ownership. Instead we use textureForNextFrame which is called on the render thread while the GUI is locked to synchronize state from the Context2D's "texture" into the actual QSGTexture. This means that cleanup of the QQuickContext2DTexture and the QSGTexture used for display is no longer in conflict. QQuickPixmap no longer contains a QSGTexture either as these are strictly for use on the scene graph thread. The Images are anyway loaded explicitly as QImage files in QQuickContext2DContext and uploaded again for every Canvas, so relying on the GL paint engine to do the caching will give us the same with less code. I also changed the default strategy to Immediate as that one supports the full API (cooperative does not support readback) and because cooperative is pretty bad for performance since the rendering happens in the sync() step. Task-number: QTBUG-34268 Task-number: QTBUG-31052 Task-number: QTBUG-21935 Task-number: QTBUG-30689 Task-number: QTBUG-29007 Change-Id: Ic540b22d5faa1188e21e56a3beee24191d13f423 Reviewed-by: Mitch Curtis <mitch.curtis@digia.com> Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
| * | Drop the "missing provider" warning from ShaderEffect.Gunnar Sletta2013-12-031-1/+0
| | | | | | | | | | | | | | | | | | Task-number: QTBUG-34676 Change-Id: I5f1c2f9ebe6048da5d5c1d1ea5e4799eacea3e8b Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
| * | Fix typo in debug defineGunnar Sletta2013-12-031-1/+1
| | | | | | | | | | | | | | | Change-Id: I4d024aeb4618228cad3000ddfda32e5c8aba5742 Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
| * | Fix QQuickTextInput not overriding shortcuts (del/home...)Frederik Gladhorn2013-12-021-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | [ChangeLog][QtQuick] QQuickTextInput would not accept delete/home/backspace/left/right keys when the key was used in a shortcut. Task-number: QTBUG-34517 Change-Id: I553af8247191ecdadcb4677e9fc85848270a95d3 Reviewed-by: Thomas Hartmann <Thomas.Hartmann@digia.com> Reviewed-by: J-P Nurmi <jpnurmi@digia.com>
| * | Set all attached section properties before emitting change signals.Martin Jones2013-11-302-8/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If we have bindings to the section properties, e.g. implementing manual section header creation, we want previousSection, section and nextSection to be set before emitting the change signals to prevent different results each time the binding is run. Change-Id: Id3a0b4a53419681f35102c9e7c620b5c6112ebb0 Reviewed-by: Martin Jones <martin.jones@jollamobile.com>
| * | When the MouseArea loses grab, an active drag should be cancelled.Robin Burchell2013-11-301-0/+6
| | | | | | | | | | | | | | | Change-Id: Icc784dd3265c211d9b077b692464591a41976354 Reviewed-by: Alan Alpert (Personal) <416365416c@gmail.com>
* | | Fix SpringAnimation in Behavior when current value is set.Michael Brasser2013-12-121-2/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes regression introduced by d489f2f6549a86b3949004d1c8ec68487fc2adb7. We now only avoid running the animation if the Behavior wasn't already mid-animation. This ensure correct behavior for SpringAnimation, and also correct state for 'running'. Task-number: QTBUG-21549 Change-Id: I0f97813294cca22fb7a273e222fa0549c6de9ca7 Reviewed-by: Alan Alpert (Personal) <416365416c@gmail.com>
* | | Use platform specified duration for triggering MouseArea::onPressAndHold.Michael Brasser2013-12-121-3/+2
| | | | | | | | | | | | | | | | | | Task-number: QTBUG-24793 Change-Id: Ib663197eac46a17bfc73aaa945a6a2d52beb0b38 Reviewed-by: Alan Alpert <aalpert@blackberry.com>
* | | Add displayMarginBeginning/End to ListView and GridView.Martin Jones2013-12-116-15/+117
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This allows displaying content outside the visible area of the view. [ChangeLog][QtQuick] Add displayMarginBeginning/End to ListView and GridView. Change-Id: Idf9b5a0cd34a781c9603a9ad98ea189754972ba1 Reviewed-by: Alan Alpert (Personal) <416365416c@gmail.com>
* | | Behavior should not trigger when the tracked value has not changed.Michael Brasser2013-12-041-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Behaviors are specifically for animating changes in value. When the value has not changed, do not trigger the animation. This ensures the animation system is not unnecessarily woken. [ChangeLog][QtQuick][Behavior] Do not trigger a Behavior when the tracked value has not changed. Task-number: QTBUG-21549 Change-Id: I5b20121ccfb75ea5ebf86705df89891c94cf6e7e Reviewed-by: Robin Burchell <robin+qt@viroteck.net> Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com> Reviewed-by: Alan Alpert (Personal) <416365416c@gmail.com>
* | | QQuickTextDocumentWithImageResources: use QTextDocument::baseUrlJ-P Nurmi2013-12-043-27/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | QTextDocument::baseUrl was introduced in qtbase commit 1f22c1d. The ultimate goal is to get rid of QQuickTextDocumentWithImageResources and eventually make QQuickTextEdit's document interchangeable. Change-Id: Ibafeecc395b52f7200d8164f809bf76538e5620c Reviewed-by: Alan Alpert <aalpert@blackberry.com>
* | | Support toggling antialiasing for Text and Rectangle.Michael Brasser2013-12-037-19/+99
| | | | | | | | | | | | | | | | | | | | | Task-number: QTBUG-27968 Task-number: QTBUG-34366 Change-Id: Ic446ff4470abf21696e1764f902bd71e79762697 Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
* | | Ensure correct horizontal alignment for implicit width multiline text.Michael Brasser2013-12-021-1/+1
| | | | | | | | | | | | | | | | | | Task-number: QTBUG-30896 Change-Id: I5ca18ac67cf3640c97374d79f2546fc53698f86b Reviewed-by: Alan Alpert (Personal) <416365416c@gmail.com>
* | | Ensure correct horizontal alignment when onLineLaidOut is used.Michael Brasser2013-12-021-2/+3
| | | | | | | | | | | | | | | | | | Task-number: QTBUG-34647 Change-Id: I07cb1f6f433d64c8889750a1fef06cd3b3bcc9e5 Reviewed-by: Andrew den Exter <andrew.den.exter@qinetic.com.au>
* | | Merge remote-tracking branch 'origin/stable' into devFrederik Gladhorn2013-11-295-46/+52
|\| | | | | | | | | | | Change-Id: I4e057bf60ac718aa359750ea417377580acbfc69
| * | Enable broken IBO fallback for Hisilicon Immersion 16 GPUEskil Abrahamsen Blomfeldt2013-11-291-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | This GPU is on the Huawei Ascend D1 and exhibits crashes in glDrawElements() when rendering scenegraph when the workaround is not turned on. Change-Id: Ic601d34c01e34faaa091a631cfed74c3601c9c43 Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
| * | Set sampler precision in shifted distance field text shaderEskil Abrahamsen Blomfeldt2013-11-281-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The precision would default to lowp and we would attempt to call smoothstep(mediump, mediump, lowp) which was a non-existent overload on some drivers, thus causing a compiler failure. We can use mediump for the sampler, like in the regular distance field shader. Task-number: QTBUG-35122 Change-Id: Ib50325d48fe7e0d25559da97e7f53e5170f705a1 Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
| * | Slightly accelerate access to value type propertiesSimon Hausmann2013-11-281-41/+41
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We can't do a fast property index based access on them, due to the inability to read individual fields from the original object (i.e. the logic in QQmlValueTypeWrapper). However what we can determine and propagate is the type information of the individual properties, i.e. that the x and y properties of a QPointF are always doubles. Change-Id: Iee71ece2117294b7bc0b93deb0a77d7c51148b11 Reviewed-by: Lars Knoll <lars.knoll@digia.com>
| * | TextInput: call fixup() when appropriateJ-P Nurmi2013-11-271-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | [ChangeLog][QtQuick] Fixed TextInput to call fixup() on its validator when being accepted or losing focus, and the validator reports that the input is in "intermediate" state ie. the input should be fixed up. Task-number: QTBUG-35128 Change-Id: I4b15406c584a9647bcf892badfaf6d845868fbf1 Reviewed-by: Liang Qi <liang.qi@digia.com>
| * | Delay renderWindow with a timerRobin Burchell2013-11-271-2/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add an exhaust delay to QSGGuiThreadRenderLoop. Some updates may be done with posted events, and maybeUpdate event competed with those, leading to partial updates and frames drawn twice. Change-Id: I532bff692c597eeba5bbd6def89ae68c80fdd69b Done-with: Mikko Harju <mikko.harju@jollamobile.com> Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
* | | Fix delivery of QEvents to QQuickItemsDaniel d'Andrada2013-11-293-141/+91
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Make them go through QObject::event() and comply to filtering from objects passsed to QObject::installEventFilter() Task-number: QTBUG-32004 Change-Id: Ib6972e7f5e588bee986ae5f2d69aa6fccb58af95 Reviewed-by: J-P Nurmi <jpnurmi@digia.com> Reviewed-by: Alan Alpert <aalpert@blackberry.com> Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
* | | Emit textureChanged() when texture provider's texture changeGunnar Sletta2013-11-291-2/+9
| | | | | | | | | | | | | | | | | | Task-number: QTBUG-32239 Change-Id: I69c5892b1f0ee7934822183cdfeccdaa1ba1f542 Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
* | | Merge branch 'stable' into devSergio Ahumada2013-11-27177-2145/+4095
|\| | | | | | | | | | | | | | | | | | | | Conflicts: .qmake.conf Change-Id: I10d4f9e993d23750a6e8ddc1291b79e47fc83c64
| * | Fix build with QT_NO_ACCESSIBILITYThomas McGuire2013-11-261-1/+1
| | | | | | | | | | | | | | | | | | | | | "q" was an unused variable, which triggered a warning/error. Change-Id: I83bdc63a7caa12a5cd48331729492c0f36ed6fa0 Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
| * | Merge branch 'release' of ssh://codereview.qt-project.org/qt/qtdeclarative ↵Simon Hausmann2013-11-2614-28/+84
| |\| | | | | | | | | | | | | | | | into stable Change-Id: I0bf06be69927d5961f1bdb4948c3572ef6111923
| | * Use QFontDatabase to check if a font is scalable.Yoann Lopes2013-11-251-2/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | The flag set in QFontEngine was not always correctly set, use QFontDatabase instead which is slower but should always be correct. We fallback to native font rendering when the font is not scalable. Change-Id: Ie9a2397abd42890d0fb05bc2f9c46a60040296f2 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
| | * Stop render thread regardless when the window is being destroyedGunnar Sletta2013-11-251-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When a window is shown and quickly hidden again we can get to a state, on a asynchronous windowing system API, where the isExposed=true event has been pushed to the event queue but not yet processed at the time the user calls hide(). As hide() immediately sets isVisible() to false, we end up with isExposed=true and isVisible=false which prevent the WM_Obscure event to be sent to render loop which means the render thread thought the window was still on screen when we reched the shutdown in WM_TryRelease. Changed WM_TryRelease handling to disregard window state when the window is being deleted. This forces SG and GL cleanup and stops the thread. Task-number: QTBUG-35055 Change-Id: Ibac5aa27354d6450f30a61450214cb785ab855bf Reviewed-by: J-P Nurmi <jpnurmi@digia.com> Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
| | * Fix rendering of Flipable content.Gunnar Sletta2013-11-251-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When a batch is merged in the renderer, we use the z component to stack the item front to back. This works because each item is guaranteed to have a z-range of 0->1. However, when a projective matrix is used, we need to compensate for the implicit [x,y,z]/w, which GL applies to gl_Position after the vertex stage completes, so that this guarantee still holds. Task-number: QTBUG-35020 Change-Id: I254a3d4dc9ad22f53717160ec6ad8f3a27b43d1c Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
| | * No assert when the focus changes and a window has no active focus item.Frederik Gladhorn2013-11-251-10/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | [ChangeLog][QtQuick] Fix crash when showing and hiding a window that has no active focus item. QtQuickControls hit the situation where a popup window was shown without ever having an active focus item. When then closing the popup, clearFocusInScope would assume it had to always modify the old focus, but in this case the focus would be on the window itself, so there is nothing to update. Task-number: QTBUG-35057 Change-Id: Ifbde4689d39f98b13e6f90573cb22e28bb86f2c4 Reviewed-by: J-P Nurmi <jpnurmi@digia.com> Reviewed-by: Liang Qi <liang.qi@digia.com>
| | * Do not crash when resizing invisible (non-tracked) windows.Gunnar Sletta2013-11-251-3/+4
| | | | | | | | | | | | | | | Change-Id: I776c21a0f675d2dbe831325cef2c1c2a103e03e5 Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>