Merge lp://staging/~brandontschaefer/unity/move-pointer-barrier-to-xi-1.6.99.1 into lp://staging/unity
Status: | Merged |
---|---|
Merged at revision: | 3407 |
Proposed branch: | lp://staging/~brandontschaefer/unity/move-pointer-barrier-to-xi-1.6.99.1 |
Merge into: | lp://staging/unity |
Diff against target: |
703 lines (+261/-152) 8 files modified
CMakeLists.txt (+2/-1) debian/changelog (+4/-3) debian/control (+1/-0) launcher/EdgeBarrierController.cpp (+126/-3) launcher/EdgeBarrierControllerPrivate.h (+9/-0) launcher/PointerBarrier.cpp (+82/-94) launcher/PointerBarrier.h (+7/-5) tests/test_pointer_barrier.cpp (+30/-46) |
To merge this branch: | bzr merge lp://staging/~brandontschaefer/unity/move-pointer-barrier-to-xi-1.6.99.1 |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
PS Jenkins bot (community) | continuous-integration | Needs Fixing | |
Andrea Azzarone (community) | Approve | ||
Review via email: mp+150175@code.staging.launchpad.net |
Commit message
Move unity to the new libxi changes, along with the new 1.14 xserver.
Description of the change
Some big changes. Updating pointer barrier logic new versions of xfixes and xi (1.6.99.1).
Had to move a bunch of things around, due to the fact that we didn't handle any kind of XI2 events before. Also re worked somethings so they only run once now...before we had a bunch of things being ran every time a barrier was being created that was not necessary.
So now the new logic, simplified:
Mouse hits barrier, XIBarrierEvent generated and sent off.
Nux receives XEvent and passes it back to EdgeBarrierCont
In HandleEventCB we check to see of the opcode matches, if so pass it to HandleEvent
In HandleEvent we check if its a type XI_BarrierHit
If so, then find the barrier wrapper the event belongs to.
(XGetEventData works onces per event, so the logic we had before didn't work).
From here we pass it to PointerBarrier.
Here we are pretty much back to where we were before the changed :).
trying to build with the old libxfixes it fails on:
"/usr/include/ X11/extensions/ XInput2. h:173:22: error: conflicting declaration ‘typedef unsigned int BarrierEventID’
typedef unsigned int BarrierEventID;
the requirement/ build-depends on that one should probably be bumped as well
works fine otherwise ;-)