← Back to team overview

touch-packages team mailing list archive

[Bug 1514928] Re: ListItem outside ListView segfaults

 

I confirm the bug.

I spent some time debugging it, I found out the following:
the main problem is that ItemParentHasChanged arrives to ListItem *after* setSelected is called. That means UCViewItemsAttachedPrivate::get(listItem) returns a QObject(0x0),
hence UCViewItemsAttachedPrivate::get(listItem)->addToSelected(q) is called on an uninitialized object.
addToSelected then calls selectedList.contains(<whatever>),
but selectedList is an uninitialized object at that point (note: even though it sits on the stack) because it is part of the state of the object UCViewItemsAttachedPrivate, which is uninitialized, and that makes selectedItem.contains(<whatever>) implementation lead to the crash.

-- 
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to ubuntu-ui-toolkit in
Ubuntu.
https://bugs.launchpad.net/bugs/1514928

Title:
  ListItem outside ListView segfaults

Status in Canonical System Image:
  New
Status in ubuntu-ui-toolkit package in Ubuntu:
  Confirmed

Bug description:
  Reproduce:
  Use the code from the documentation [1] but add selected: true to any ListItem.

  What happens:
  UUITK segfaults

  What should happen:
  It should highlight and not crash

  Stack trace:
  http://pastebin.ubuntu.com/13217004/

  Seems selectedList.contains(-1) segfaults for some reason.

  [1] http://pastebin.ubuntu.com/13217263/

To manage notifications about this bug go to:
https://bugs.launchpad.net/canonical-devices-system-image/+bug/1514928/+subscriptions


References