Mir

Setting MirWindowSpec parameters always causes window's input_region to be reset

Bug #1670876 reported by Gerry Boland on 2017-03-07
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Canonical System Image
High
Stephen M. Webb
Mir
Fix Committed
High
Kevin DuBois
0.26
Triaged
High
Kevin DuBois
MirAL
Undecided
Unassigned
mir (Ubuntu)
High
Unassigned

Bug Description

I've made a quick demo to reproduce this:

https://code.launchpad.net/~gerboland/+git/basic_mir_client/+ref/cursor-mask-demo

1. launch any mir demo server
2. launch the above demo
3. press 'c' to set the cursor of the window, cursor should become a cross over the window.
4. press 'm' to set the input region as a subset of the window. You can observe the input region by moving the cursor over the window, cursor will be a cross inside the specified region. You can click too, will cause client to print "click"
5. press 'c' again.

Expected result
no change

Actual result
Input region of surface appears to be reset - cursor is a cross over the entire window.

I've noticed this behaviour only after this update to QtUbuntu:
https://code.launchpad.net/~albaguirre/qtubuntu/more-new-mir-apis/+merge/316646
so suspect a bug with the new api only.

Related branches

Daniel van Vugt (vanvugt) wrote :

So is this a regression or a problem with the new Mir interfaces? Certainly at a higher level, symptom bug 1669444 is a regression.

tags: added: input unity8-desktop
Gerry Boland (gerboland) wrote :

I suspect bug with new cursor interface implementation. Old interface does not exhibit this bug.

Alan Griffiths (alan-griffiths) wrote :

MirAL contains no logic around input regions, and didn't change for the QtUbuntu update.

Changed in miral:
status: New → Invalid
Changed in mir:
importance: Undecided → High
milestone: none → 1.0.0
Kevin DuBois (kdub) wrote :

Both input regions and cursor configuration have had some changes lately, suppose it could be either.

Kevin DuBois (kdub) on 2017-03-08
Changed in mir:
status: New → Confirmed
assignee: nobody → Kevin DuBois (kdub)
Kevin DuBois (kdub) wrote :

Yeah, seems the input region would have been reset when applying a surface spec. This bug has been present for quite a while (I suspect that (e.g.) setting an edge attachment would also reset the input region).

The cursors used to be configured separately from MirSurfaceSpec configuration, the recent cursor cleanups brought cursor configurations to be applied as part of the MirSurfaceSpec configuration, and the existing input-shape reset bug was exposed on this path.

summary: - Setting cursor causes window's input_region to be reset
+ Setting MirWindowSpec parameters always causes window's input_region to
+ be reset
Kevin DuBois (kdub) on 2017-03-08
Changed in mir:
status: Confirmed → In Progress
Changed in canonical-devices-system-image:
assignee: nobody → Stephen M. Webb (bregma)
importance: Undecided → High
status: New → In Progress
milestone: none → u8c-1
Mir CI Bot (mir-ci-bot) wrote :

Fix committed into lp:mir at revision 4077, scheduled for release in mir, milestone 1.0.0

Changed in mir:
status: In Progress → Fix Committed
Changed in canonical-devices-system-image:
status: In Progress → Fix Committed
Changed in mir (Ubuntu):
status: New → Triaged
importance: Undecided → High
Daniel van Vugt (vanvugt) wrote :

OK, there's no need to have two bug reports open for the one bug. Marking this as a duplicate.

It's always best if the bug describes user-facing symptoms.

Launchpad Janitor (janitor) wrote :

This bug was fixed in the package mir - 0.26.2+17.04.20170322.1-0ubuntu1

---------------
mir (0.26.2+17.04.20170322.1-0ubuntu1) zesty; urgency=medium

  [ Daniel van Vugt ]
  * New upstream release 0.26.2 (https://launchpad.net/mir/+milestone/0.26.2)
    - Bugs fixed:
      . EDID does not change when hotplugging a monitor (LP: #1660017)
      . [regression] mirout crashes when connecting to unity8 or any nested
        server: [libprotobuf FATAL /usr/include/google/protobuf/repeated_field.
        h:1408] CHECK failed: (index) < (current_size_) (LP: #1661163)
      . Mir server crashed with SIGSEGV in
        mir::compositor::TemporaryBuffer::size() called from
        mir::gl::tessellate_renderable_into_rectangle() (LP: #1664760)
      . Nested servers (Unity8) periodically stutter (half frame rate) with
        Mir 0.26.1 (LP: #1666372)
      . Don't dereference the end iterator in ms::ApplicationSession::
        surface_after() (LP: #1667645)
      . [regression] OSK input shaping no longer works correctly (LP: #1669444)
      . Setting MirWindowSpec parameters always causes window's input_region
        to be reset (LP: #1670876)
      . Subpixel order not included in Mir display information (LP: #1393578)
      . Presentation chains should support various swap interval modes
        (LP: #1673533)
      . Need an extension for GBM buffers to replace
        mir_buffer_get_buffer_package() (LP: #1673534)
      . Seg fault on detect_fd_leaks (LP: #1661498)

 -- Cemil Azizoglu <email address hidden> Wed, 22 Mar 2017 04:54:19 +0000

Changed in mir (Ubuntu):
status: Triaged → Fix Released
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers