[regression] "Playground" event filters get registered twice
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Mir |
Fix Released
|
Medium
|
Alan Griffiths | ||
mir (Ubuntu) |
Fix Released
|
Undecided
|
Unassigned |
Bug Description
[regression] "Playground" event filters get registered twice. For each press I get two down events, and then on release two up events.
This was first observed as bug 1437166, which is easy to fix in itself. But the issue remains if an EventFilter fails to handle (return true) an event it now gets executed with that event twice.
This regression was introduced in:
-------
revno: 2429 [merge]
author: Alan Griffiths <email address hidden>
committer: Tarmac
branch nick: development-branch
timestamp: Thu 2015-03-26 15:04:21 +0000
message:
shell: Provide a configuration point for the WindowManagement strategy.
Approved by PS Jenkins bot, Andreas Pokorny, Alexandros Frantzis.
-------
Related branches
- Alexandros Frantzis (community): Approve
- Kevin DuBois (community): Approve
- PS Jenkins bot (community): Approve (continuous-integration)
-
Diff: 50 lines (+19/-11)2 files modifiedplayground/demo-shell/demo_shell.cpp (+8/-4)
playground/server_configuration.cpp (+11/-7)
description: | updated |
summary: |
- [regression] Event filters may be executed twice + [regression] "Playground" event filters get registered twice |
Changed in mir: | |
status: | Triaged → In Progress |
Changed in mir: | |
status: | Fix Committed → Fix Released |
The cause is playground code registering event filters every time that the_composite_ event_filter( ) is called. In the past this worked by happy accident. (Although as Daniel says this would be benign if the filter were to return true for handled events.)
Filters should only be added when the CompositeEventF ilter is created.