Public bug reported:

I’m trying to use InputDeviceModel from QML with the following example:

import QtQuick 2.4
import QtSystemInfo 5.5
Item {
  InputDeviceModel {
    id: idm
    filter: InputInfo.Mouse
    onCountChanged: console.log("mice model count:", devices, count)
    onAdded: console.log("added mouse:", inputDevice, count)
    onRemoved: console.log("removed mouse:", deviceId, count)
  }
  readonly property bool hasMouse: idm.count > 0
  onHasMouseChanged: console.log("has mouse:", hasMouse)
}

When I launch the example with qmlscene on my arale with no mouse
connected, I’m not seeing any output (expected).

Then I connect a bluetooth keyboard/mouse combo, and I’m seeing the following:
  mice model count: 1 0
  added mouse: QInputDevice(0x17f6298) 1
  (note how 'hasMouse', which supposedly was initially false, hasn’t been 
updated)

Then I disconnect the combo, and I’m seeing the following:
  mice model count: 0 1
  has mouse: true
  removed mouse: 15 0

Then I connect it again, and I’m seeing the following:
  mice model count: 1 0
  has mouse: false
  added mouse: QInputDevice(0x18ee508) 1

It appears the countChanged property is emitted before a device is added
to/removed from the model, and thus the row count hasn’t actually been
updated yet. So any property binding that relies on 'count' will have an
incorrect value.

** Affects: qtsystems-opensource-src (Ubuntu)
     Importance: Undecided
     Assignee: Lorn Potter (lorn-potter)
         Status: New

** Changed in: qtsystems-opensource-src (Ubuntu)
     Assignee: (unassigned) => Lorn Potter (lorn-potter)

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1646080

Title:
  Mir-backed InputDeviceModel’s count property is not updated timely

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/qtsystems-opensource-src/+bug/1646080/+subscriptions

-- 
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to