** Branch linked: lp:~ci-train-bot/mir/mir-ubuntu-zesty-2369

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

Title:
  Server::override_the_coordinate_translator() cannot be effectively
  used downstream

Status in Mir:
  Fix Committed
Status in Mir 0.25 series:
  Fix Released
Status in mir package in Ubuntu:
  Fix Released

Bug description:
  Being able to switch the debug APIs on at runtime is needed by Unity8
  to address autopilot issues.

  According to the documentation in
  include/server/mir/scene/coordinate_translator.h the
  CoordinateTranslator interface can be implemented by throwing
  std::runtime_error. Vis:

       * \note It is acceptable for this call to unconditionally throw a 
std::runtime_error.
       *       It is not required for normal functioning of the server or 
clients; clients which
       *       use the debug extension will receive an appropriate failure 
notice.

  However, the relevant code in
  src/server/frontend/protobuf_message_processor.cpp is:

              try
              {
                  ...
              }
              catch (mir::frontend::unsupported_feature const&)
              {
                  ...
              }

  As mir::frontend::unsupported_feature subclasses std::runtime_error
  this does not correctly handle std::runtime_error.

  Further, as unsupported_feature is not a public class, this can't be
  thrown by downstream code. (Although I suspect throwing an identical
  class with the same name will trick the RTTI implementation.)

To manage notifications about this bug go to:
https://bugs.launchpad.net/mir/+bug/1641166/+subscriptions

-- 
Mailing list: https://launchpad.net/~touch-packages
Post to     : touch-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~touch-packages
More help   : https://help.launchpad.net/ListHelp

Reply via email to