1. 28 Nov, 2014 - 1 commit
  2. 07 Nov, 2014 - 1 commit
  3. 05 Nov, 2014 - 1 commit
  4. 22 Oct, 2014 - 1 commit
    • Laszlo Agocs's avatar
      Fix disfunctional QQuickRenderControl with multiple screens · 9b965f3f
      Laszlo Agocs authored
      
      Having a retina and non-retina screen connected resulted in getting
      no output from QQuickRenderControl and QQuickWidget on the
      non-retina screen.
      
      This is caused by the fact that Quick is blindly calling
      QWindow::devicePixelRatio(). This approach is wrong when using
      QQuickRenderControl since the QQuickWindow does not have an actual
      native window and so devicePixelRatio() merely returns some default value
      which will definitely be wrong for one of the screens.
      
      The patch fixes the problem by introducing
      QQuickWindow::effectiveDevicePixelRatio(), which, via
      QQuickRenderControl::renderWindowFor, supports the redirected case too.
      
      Task-number: QTBUG-42114
      Change-Id: I057e01f0a00758dde438fc9b10af3a435b06bb0b
      Reviewed-by: default avatarPaul Olav Tvete <paul.tvete@digia.com>
      9b965f3f
  5. 10 Oct, 2014 - 1 commit
    • Gunnar Sletta's avatar
      Improve performance of animators. · 099ae059
      Gunnar Sletta authored
      
      The use of one QCoreApp::postEvent() per completed animation added up
      to a very large overhead when 1000+ animators were used at the same
      time. This is very relevant for sprite games and similar and deserves
      to work at least as good as normal animations.
      
      Instead, store the animations to stop and stop then on the gui thread
      later as a result of frameSwapped. For the benchmark in question this
      allows for roughly double the amount of animators being started and
      stopped.
      
      Change-Id: Iae3d1ec1502ee1908fdbba708fa9f976aa230064
      Reviewed-by: default avatarMichael Brasser <michael.brasser@live.com>
      v5.4.0-beta1
      099ae059
  6. 01 Oct, 2014 - 1 commit
  7. 24 Sep, 2014 - 1 commit
  8. 17 Sep, 2014 - 2 commits
  9. 03 Sep, 2014 - 1 commit
    • Gunnar Sletta's avatar
      Fix performance regression caused by SG signals in QQuickItem. · 0de680c8
      Gunnar Sletta authored
      
      For a testcase with thosands of items, I measured an increase
      in shutdown time from 800ms to 7500ms, all spent in disconnect().
      This is not acceptible, so we're choosing a different approach.
      
      If items implement a invalidateSceneGraph slot, this function
      will be called during shutdown. It should be made a proper virtual
      in Qt 6. This approach costs very little.
      
      Change-Id: I5970143cc0a0744955687e17586f0bb00c9afb26
      Reviewed-by: default avatarLars Knoll <lars.knoll@digia.com>
      0de680c8
  10. 27 Aug, 2014 - 1 commit
  11. 26 Aug, 2014 - 1 commit
  12. 25 Aug, 2014 - 1 commit
  13. 15 Aug, 2014 - 1 commit
  14. 13 Aug, 2014 - 1 commit
  15. 12 Aug, 2014 - 1 commit
  16. 11 Aug, 2014 - 1 commit
  17. 08 Aug, 2014 - 4 commits
    • Simon Hausmann's avatar
      Protect against crashes with invalid openglContext() · 024c0b35
      Simon Hausmann authored
      
      1) Don't fail the assertion in the animator jobs if we don't have a context
      2) Delegate the opengl context check in QQuickWindow::createTextureFromImage
         to the QSGContext
      
      Change-Id: I1b248895dcd6db406f1af8866fd0052dd7564899
      Reviewed-by: default avatarLars Knoll <lars.knoll@digia.com>
      024c0b35
    • Simon Hausmann's avatar
      Make the QtQuick window surface type configurable · ed3530bd
      Simon Hausmann authored
      
      The default remains OpenGLSurface.
      
      Change-Id: I96b400b7aa9c2b0435ea0614598e1b1f32b6d6b2
      Reviewed-by: default avatarLars Knoll <lars.knoll@digia.com>
      ed3530bd
    • Shawn Rutledge's avatar
      Add Window attached property on Item · 60ed6a43
      Shawn Rutledge authored
      An Item sometimes needs to know a few things about the window
      in which it is being displayed; this attached property can expose
      them without needing to go up the heirarchy to find the window.
      Instead of adding the QQuickWindow pointer as a property on Item
      as in 8f49f50a
      
      , having an attached
      property means that it will not be found by introspection; and
      it solves the problem that Window is in the QtQuick.Window module:
      you must import the module to use the attached property, instead
      of having access to a pointer whose type might not be defined
      if you didn't import it.  The Window attached property is created
      on-demand (so the memory cost adds up if you use it in too many
      places); the tradeoff is that it can exist even when the item
      is not yet being shown in a window, so bindings at startup work.
      The API is purposely incomplete compared to that in QQuickWindow
      so that we can introduce what is needed in a controlled fasion
      over time.  For now we know of use cases for visibility, active
      and activeFocusItem.
      
      [ChangeLog][QtQuick][Window] Added Item.Window attached property
      
      Change-Id: I649404cbd1383326678aa2144f790b2f2542dbbc
      Reviewed-by: default avatarJ-P Nurmi <jpnurmi@digia.com>
      60ed6a43
    • Gunnar Sletta's avatar
      Make sure texture factories are delete before libraries are unloaded. · 232d994d
      Gunnar Sletta authored
      
      Because scene graph adaptations and custom implementations can
      instantiate QQuickTextureFactories, we need to make sure that
      their destructors are called before their libraries are unloaded
      to avoid crashes on shutdown.
      
      Change-Id: I17d38e2909aabcb4ea7bf4eecc29df86c8479fdb
      Reviewed-by: default avatarRobin Burchell <robin+qt@viroteck.net>
      232d994d
  18. 05 Aug, 2014 - 1 commit
  19. 01 Aug, 2014 - 2 commits
    • Jocelyn Turcotte's avatar
      Expose the scene graph publically through a QSGEngine class · 78923902
      Jocelyn Turcotte authored
      
      This change wraps QSGRenderContext and QSGContext in a new QSGEngine
      class, and expose a public interface of QSGRenderer through a
      QSGAbstractRenderer to make it usable on a standalone window or FBO.
      
      Change-Id: I2d41187472424f5ea64650a006bcd61f2711f6b9
      Reviewed-by: default avatarGunnar Sletta <gunnar.sletta@jollamobile.com>
      78923902
    • Martin Jones's avatar
      Fix touch/mouse propagation bugs · 77d6aef4
      Martin Jones authored
      
      Filtered mouse release was not delivered if another touch started after a
      touchMouseId was activated.  This meant that any filters expecting a
      release event would not receive it if another touch was made before release
      of the touchMouseId.
      
      We prevented a touch becoming the touchMouseId in the child mouse filters
      if there were any existing touches. The normal event delivery, however,
      does not require a single touch.
      
      Further to the previous, a touch could become the touchMouseId, even if
      the initial press happened when there was an existing touchMouseId. This
      meant that a touch could turn into a mouse when the existing mouse event
      was released, resulting in a new touchMouseId which hadn't been through
      child mouse filters.
      
      Flickable delayed press should be sent via normal event processing, as other
      touch/mouse events are now delivered in this way.
      
      We often called childMouseEventFilter() multiple times for each event. This
      is bad because the gesture handling relies on claiming a gesture in one event,
      then stealing it in the next.
      
      Instead of sending touch to mouse candidate points already determined to be
      within the item bounds and already transformed, we sent all of the points
      to the mouse recipient.
      
      PinchArea did not store the starting position at the original touch points,
      so other items could pass the dragThreshold before PinchArea and steal a gesture
      meant for PinchArea.
      
      Task-number: QTBUG-40330
      Change-Id: Ic0009c176d3d1cb7cff0b5eda076a2c3ca864136
      Reviewed-by: default avatarRobin Burchell <robin+qt@viroteck.net>
      77d6aef4
  20. 31 Jul, 2014 - 2 commits
  21. 29 Jul, 2014 - 3 commits
  22. 22 Jul, 2014 - 1 commit
  23. 18 Jul, 2014 - 1 commit
  24. 01 Jul, 2014 - 1 commit
  25. 30 Jun, 2014 - 1 commit
    • Shawn Rutledge's avatar
      Avoid double deletion of QQuickWindow · 0ca2b468
      Shawn Rutledge authored
      It's uncertain why 4fc0df58
      
       added
      the call to sendPostedEvents(0, QEvent::DeferredDelete) but now we can
      see that it easily results in the destructor calling itself, and
      therefore double-deleting its own d_ptr.  removePostedEvents seems
      safer to ensure that the window cannot be doubly deleted, in spite
      of the qdoc warning that "You should never need to call this function."
      
      Task-number: QTBUG-33436
      Change-Id: I4873ebe179dde551407eba1f6baac5f03ca7f177
      Reviewed-by: default avatarJ-P Nurmi <jpnurmi@digia.com>
      Reviewed-by: default avatarAlan Alpert <aalpert@blackberry.com>
      0ca2b468
  26. 24 Jun, 2014 - 1 commit
    • Laszlo Agocs's avatar
      Make QQuickRenderControl public · 745a7119
      Laszlo Agocs authored
      
      QQuickRenderControl allows rendering Qt Quick 2 scenes into framebuffer
      objects which can then be used in arbitrary ways in Qt-based or 3rd party
      OpenGL renderers.
      
      [ChangeLog][QtQuick] Introduced QQuickRenderControl as a public API.
      
      Task-number: QTBUG-37944
      Change-Id: I84262243b261b35cefdf67ec6bba8127a0f29275
      Reviewed-by: default avatarPaul Olav Tvete <paul.tvete@digia.com>
      745a7119
  27. 05 Jun, 2014 - 1 commit
  28. 23 May, 2014 - 1 commit
  29. 21 May, 2014 - 1 commit
  30. 19 May, 2014 - 1 commit
    • Gunnar Sletta's avatar
      Fix crash with running animators on re-shown windows. · 851ae1a7
      Gunnar Sletta authored
      
      The non-threaded render loops would clean up the nodes for a window
      when it was hidden, but the animators kept running and had a reference
      to the deleted nodes. This was not a problem for the threaded render
      loop as it would wipe the animator controller as well which would
      clean the jobs.
      
      Fix it by triggering a reset of all nodes in the animators when the
      window is told to clean up. If an animator is ticked when it doesn't
      have a node, it will simply do nothing. When the window is made visible
      again, we call initialize on all animators to find the new node.
      
      Task-number: QTBUG-37995
      Change-Id: Ie5609d95db29f4b2b30ca5bf641dce901e528389
      Reviewed-by: default avatarMichael Brasser <michael.brasser@live.com>
      851ae1a7
  31. 06 May, 2014 - 1 commit
  32. 05 May, 2014 - 1 commit