1. 28 Nov, 2016 - 1 commit
  2. 25 Nov, 2016 - 1 commit
  3. 24 Nov, 2016 - 1 commit
    • Ulf Hermann's avatar
      QmlProfiler: Explicitly specify the offsets for scene graph events · 2837f1c8
      Ulf Hermann authored
      
      The profiler can be switched on in the middle of a frame. In that case
      the last offset into the timing data would be some random number, which
      may lead to a crash when recording the sample.
      However, as we know all the data points we are going to record, we can
      as well specify where they are supposed to go. The timings themselves
      may still be random for frames of which we only recorded parts, but
      the clients can deal with this.
      
      Task-number: QTBUG-57304
      Change-Id: I1d507f2591516e43d5b3cd25f7939716f2b64ed9
      Reviewed-by: default avatarSimon Hausmann <simon.hausmann@qt.io>
      2837f1c8
  4. 23 Nov, 2016 - 1 commit
  5. 22 Nov, 2016 - 1 commit
  6. 18 Nov, 2016 - 2 commits
    • Robin Burchell's avatar
      Text: Make use of the new cached isSmoothlyScaled attribute on QFontEngine · 5ffd0d8b
      Robin Burchell authored
      
      Relies on qtbase/f2205c48c21a6b135f2f59d0cf46e72f90f9f0f4.
      
      Asking QFontDatabase whether or not the font can be smoothly scaled is expensive
      Now that the attribute is available on QFontEngine, we can bypass all that.
      
      Benchmark results from qmlbench on creation/delegates_text on a 2011 mbp.
      
      Before: Average: 173.2 ops/frame; using 5/5 samples; MedianAll=173; StdDev=1.94, CoV=0.0112 - StdDev (all samples included)=1.94
      After:  Average: 180.8 ops/frame; using 5/5 samples; MedianAll=182; StdDev=1.94, CoV=0.0107 - StdDev (all samples included)=1.94
      
      Change-Id: I56efd903037a29ee014de0cbf482cfbef7fce494
      Reviewed-by: default avatarGunnar Sletta <gunnar@sletta.org>
      5ffd0d8b
    • Simon Hausmann's avatar
      Fix binding re-evaluation when list model properties change · 1969991c
      Simon Hausmann authored
      This is a regression from commit
      4876ea6a
      
      , which avoided returning an
      expensive QObject when calling get() but also lost the ability to
      perform binding captures when accessing the properties. This change
      restores the captures by performing them by hand in get() and also
      triggering the notifiers directly when the values change, without
      creating the QObject.
      
      Task-number: QTBUG-52356
      Change-Id: Ia429ffafd4032b63d3e592aa63bb0864a24e0965
      Reviewed-by: default avatarMichael Brasser <michael.brasser@live.com>
      Reviewed-by: default avatarLars Knoll <lars.knoll@qt.io>
      1969991c
  7. 17 Nov, 2016 - 1 commit
  8. 16 Nov, 2016 - 3 commits
    • Erik Verbruggen's avatar
      QML: Fix memory leak in a benchmark · 5718dac9
      Erik Verbruggen authored
      
      Change-Id: I64b671243a107c518da2000e2ffd964f441af037
      Reviewed-by: default avatarSimon Hausmann <simon.hausmann@qt.io>
      Reviewed-by: default avatarRobin Burchell <robin.burchell@viroteck.net>
      5718dac9
    • Erik Verbruggen's avatar
      QML: Change C++ benchmark to reflect QML benchmark · 835eac4e
      Erik Verbruggen authored
      
      The QQmlListReference will build a property cache entry, but it won't
      assign it to an engine when none is available (meaning: it would create
      the entry every time a QQmlListReference is created). QML won't do that,
      because it (obviously) has an engine available.
      
      Change-Id: I46eeaf3dffcb690902dd3d78be48c8509be6e84d
      Reviewed-by: default avatarSimon Hausmann <simon.hausmann@qt.io>
      835eac4e
    • Simon Hausmann's avatar
      Fix reading of enum properties from gadgets · 12b7e6bf
      Simon Hausmann authored
      
      QMetaProperty::type() maps an un-registered enum to QMetaType::Int, and
      so if a property cache is created for a gadget with enum properties,
      then their type will be int and we'll correctly read enum properties as
      ints in JavaScript. However if the enum is registered at the time we
      create the cache, then the property type will be the specific type and
      not QMetaType::Int. The property reading code in QV4::QObjectWrapper can
      deal with that, but the property reading code in the gadget value type
      wrapper code did not.
      
      [ChangeLog][Qt][Qml] Fix reading of enum properties from gadgets / value
      types when the enum was registered with qRegisterMetaType().
      
      Change-Id: I7812b216a276dcc95c36e313507e1a1142250d0b
      Reviewed-by: default avatarErik Verbruggen <erik.verbruggen@qt.io>
      12b7e6bf
  9. 15 Nov, 2016 - 3 commits
  10. 11 Nov, 2016 - 1 commit
    • Frederik Gladhorn's avatar
      Fix QtQuickTest::mouseMove not having timestamps · 29122387
      Frederik Gladhorn authored
      af002b8d
      
       added timestamps to press and
      release events. It did not add the timestamp to move events though. When
      using the quick test functionality to send events to flickable, this
      leads to great confusion since the move events will be from a completely
      different time than the release, in which case flickable responds with
      "you waited a long time before releasing, I think you didn't want to
      flick". Adding the timestamp also to move events is consistent and makes
      tests in qtlocation happy.
      
      Change-Id: I33653c435eff5b62eeaf5a03653d917b7acc4fed
      Reviewed-by: default avatarPeter Varga <pvarga@inf.u-szeged.hu>
      Reviewed-by: default avatarPaolo Angelelli <paolo.angelelli@qt.io>
      29122387
  11. 10 Nov, 2016 - 1 commit
  12. 09 Nov, 2016 - 1 commit
    • Inhye Seo's avatar
      Add checking "before" as child node · 9f4bb9a6
      Inhye Seo authored
      
      qquickitem_before_paintNode returns the transform node for the rectangle
      as child node. But the node has no parent. It leads to following assertion
      case at QSGNode::insertChildNodeAfter(). But, I tested it in release mode,
      so no assertion happened. So, Some node not be able to add group node
      from this cause.
      
      Task-number: QTBUG-56657
      Change-Id: Ie032dc6c56984bcb58cfcd348ff532f56e39e5b8
      Reviewed-by: default avatarInhye Seo <inhye.seo@lge.com>
      Reviewed-by: default avatarGunnar Sletta <gunnar@sletta.org>
      9f4bb9a6
  13. 07 Nov, 2016 - 1 commit
  14. 05 Nov, 2016 - 1 commit
  15. 04 Nov, 2016 - 1 commit
    • Giuseppe D'Angelo's avatar
      QV4String: properly detect overflow when trying to convert to an array index · 64714ea4
      Giuseppe D'Angelo authored
      
      A wrong overflow detection caused strings like "240000000000" to pass
      the conversion, even though they would not fit into a uint when
      converted into base-10. This mis-conversion to uint then caused
      all sorts of side effects (broken comparisons, wrong listing of
      properties, and so on).
      
      So, properly fix the overflow detection by using our numeric private
      functions.
      
      Change-Id: Icbf67ac68cf5785d6c77b433c7a45aed5285a8c2
      Task-number: QTBUG-56830
      Reviewed-by: default avatarLars Knoll <lars.knoll@qt.io>
      64714ea4
  16. 31 Oct, 2016 - 1 commit
  17. 28 Oct, 2016 - 1 commit
  18. 27 Oct, 2016 - 1 commit
  19. 26 Oct, 2016 - 1 commit
  20. 25 Oct, 2016 - 2 commits
  21. 24 Oct, 2016 - 1 commit
    • J-P Nurmi's avatar
      Make tst_qquicktextedit::mouseSelection() pass · 55b9c7c1
      J-P Nurmi authored
      
      Since qtbase commit beef975, QTestLib avoids generating accidental
      double click events by adding 500ms timestamp delta on release events.
      
      The test requires a press-and-drag-and-release type of sequence with
      double and triple clicks. The triple-click case is handled fine with
      QTest::mouseDClick() + press + move + release, but the double-click
      case is using QTest::mouseClick() + press + move + release and relies
      on the accidental double-click event generation that QTestLib now
      deliberately prevents.
      
      I can't think of a nice way to inject the move event in the middle of
      a double-click sequence generated by QTest::mouseDClick(), so we just
      send the missing double-click event by hand.
      
      We can also remove the QStyleHints::mouseDoubleClickInterval waits,
      which were there to prevent the aforementioned accidental double click
      events that can no longer happen. This reduces the total execution
      time of mouseSelection() by roughly 90%.
      
      Task-number: QTBUG-50022
      Change-Id: I252e87d6a49ea86a44cfa347a29eebee12fd36d1
      Reviewed-by: default avatarMitch Curtis <mitch.curtis@qt.io>
      Reviewed-by: default avatarFrederik Gladhorn <frederik.gladhorn@qt.io>
      55b9c7c1
  22. 23 Oct, 2016 - 2 commits
  23. 19 Oct, 2016 - 1 commit
  24. 15 Oct, 2016 - 1 commit
    • J-P Nurmi's avatar
      QQuickWindow: don't discard timestamps for wheel events · 654e9e6a
      J-P Nurmi authored
      
      Noticed while debugging QTBUG-56075 on XCB. QQuickFlickable did not
      receive timestamps for wheel events provided by XI2. This alone does
      not fix the flicking speed issue with high-precision trackpads, but
      is needed to be able to calculate the appropriate velocity.
      
      Task-number: QTBUG-56075
      Change-Id: I458e6302aee72863cdc1f8e8f7d99449016905a9
      Reviewed-by: default avatarShawn Rutledge <shawn.rutledge@qt.io>
      654e9e6a
  25. 14 Oct, 2016 - 1 commit
  26. 13 Oct, 2016 - 4 commits
    • Alexandru Croitor's avatar
      Remove superfluous warning statement in QAccessibleQuickItem::rect() · 67e5fe16
      Alexandru Croitor authored
      
      The warning statement is printed whenever a successful hit test
      (essentialy a hover) happens on a QML item which is accessible
      (e.g. a Label) and also not visible.
      The message looks like "QQuickText QVariant(Invalid) QRect(0,0 0x0)".
      
      The information serves no real purpose though:
      1) The property accessibleText is not set anywhere
      2) The warning happens in a valid use case when an item is invisible,
      and the user mouse accidentally hovers over its position
      
      Change-Id: I8d20f7842d92c7944bb5e3b614ecd6fad500102a
      Reviewed-by: default avatarFrederik Gladhorn <frederik.gladhorn@qt.io>
      67e5fe16
    • Alexandru Croitor's avatar
      Check qgl_current_fbo_invalid before using qgl_current_fbo · 342f18c7
      Alexandru Croitor authored
      
      QSG24BitTextMaskShader::useSRGB() on macOS accesses the current context
      qgl_current_fbo member without first checking if it is valid.
      Make sure it also checks qgl_current_fbo_invalid, thus not accidentally
      dereferencing a dangling pointer.
      
      Change-Id: I56a77de23ee3b4b271bd848506ff26e14d7b6d15
      Reviewed-by: default avatarLaszlo Agocs <laszlo.agocs@qt.io>
      342f18c7
    • Venugopal Shivashankar's avatar
      Example: Use TextInput's displayText property instead of length · f7202424
      Venugopal Shivashankar authored
      
      The replace Text item that is overlayed on the TextInput, behaves
      like the TextField.placeholderText property. The opacity of the item
      varies based on whether the TextInput has any text or not. Using the
      length property to adjust the opacity fails on platforms such as
      Android where the length is not updated until the text is committed
      (i.e. until you hit the [ENTER] key). Whereas the displayText
      property is updated when you key in text, so it is ideal to use the
      length of the displayText than the length property itself.
      
      Change-Id: I678e5db5e5d5027e4aae816b6620095c68138eb7
      Reviewed-by: default avatarShawn Rutledge <shawn.rutledge@qt.io>
      f7202424
    • Erik Verbruggen's avatar
      V4: Fix usage of QV4::Value tags/types · 9d2169a2
      Erik Verbruggen authored
      
      These two were mixed, but have completely different values.
      
      Task-number: QTBUG-56471
      Change-Id: Ifbf6da3032335ea89bfbc3acde17f64a571b9dc0
      Reviewed-by: default avatarSimon Hausmann <simon.hausmann@qt.io>
      9d2169a2
  27. 11 Oct, 2016 - 1 commit
  28. 10 Oct, 2016 - 3 commits