Needless memory growth from undeleted Gesture instances
Bug #965260 reported by
Daniel d'Andrada
This bug affects 1 person
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Grail |
Fix Released
|
Medium
|
Daniel d'Andrada | ||
utouch-grail (Ubuntu) |
Fix Released
|
Medium
|
Unassigned |
Bug Description
A slice holds a weak_ptr to the gesture until it is flushed out to the event queue. UGSlice:
generate a shared_ptr reference to the gesture. This prevents the gesture from being deleted after the gesture has ended but slice events are still in use by the client. However, when the client unrefs a slice event, the shared_ptr to the gesture is not reset. Since the gesture holds shared_ptr references to the slices too, we have a reference loop. When the recognizer is deleted, all references to gestures and slices end up resolved, but we are essentially growing memory until that time.
Related branches
lp:~dandrader/grail/slice_ref_loop
- Chase Douglas (community): Approve
-
Diff: 362 lines (+65/-64)3 files modifiedsrc/v3/gesture.cpp (+5/-5)
src/v3/slice.cpp (+50/-48)
src/v3/slice.h (+10/-11)
Changed in utouch-grail: | |
assignee: | nobody → Daniel d'Andrada (dandrader) |
importance: | Undecided → Medium |
status: | New → In Progress |
Changed in utouch-grail: | |
status: | In Progress → Fix Committed |
Changed in utouch-grail (Ubuntu): | |
status: | New → In Progress |
importance: | Undecided → Medium |
Changed in utouch-grail: | |
milestone: | none → utouch-grail-3.0.4 |
Changed in utouch-grail: | |
status: | Fix Committed → Fix Released |
To post a comment you must log in.
This bug was fixed in the package utouch-grail - 3.0.4-0ubuntu1
---------------
utouch-grail (3.0.4-0ubuntu1) precise; urgency=low
[ Stephen M. Webb ] utouch- grail-tools. install: added manpages (LP: #955609)
* debian/copyright: changed library to LGPL-3 license (LP: #963070)
* debian/
[ Daniel d'Andrada ]
* New upstream release
- Fix utouch-grail needs to be relicensed under LGPLv3 (LP: #963070)
- Fix taps time out erroneously and don't fire (LP: #962705)
- Fix virtual destructors to SliceCheckerState (LP: #962886)
- Fix uninitialized variable in SliceChecker (LP: #962904)
- Fix tests can only be run when built in-source (LP: #962919)
- Fix needless memory growth from undeleted Gesture instances (LP: #965260)
- Fix touch state accounting should be managed better (LP: #966688)
- Fix no touch events while utouch-grail clients wait for next timeout
(LP: #967605)
- Fix premature gesture acceptance possible upon timestamps mismatch
(LP: #963379)
- Fix utouch-grail FTBFS in daily PPA (LP: #966367)
- Fix utouch-grail-tools package is missing manpages (LP: #955609)
[ Chase Douglas ]
* Build with debhelper --parallel
* Disable integration tests during package build
* Remove --with-xi configure flag, it is obsolete
-- Chase Douglas <email address hidden> Fri, 30 Mar 2012 16:03:04 -0700