On Tue, Jul 22, 2014 at 10:04 AM, Thomi Richards
<thomi.richa...@canonical.com> wrote:
Hi,
I commented on the bug, but I may as well comment here:
On Tue, Jul 22, 2014 at 11:42 AM, Gerry Boland
<gerry.bol...@canonical.com> wrote:
3. Mir let the clients find their surface's screen position
I'm pushing for this solution, for a variety of reasons. The main one
is that the QWidget::mapToGlobal call is what we use to determine
global screen coordinates for each widget. The documentation
(http://qt-project.org/doc/qt-5/qwidget.html#mapToGlobal) says:
Translates the widget coordinate pos to global screen coordinates.
For example, mapToGlobal(QPoint(0,0)) would give the global
coordinates of the top-left pixel of the widget.
There's nothing in there that says "this may not be supported by the
current platform". To my mind, there's a contract here between the
application and Qt, which, if we want to support Qt on mir, has to
remain valid. Autopilot uses this call on X11 platforms, it should be
able to use exactly the same call on mir. Autopilot-qt makes no
X11-specific calls, we *just* use the Qt API
So, Qt actually has a whole bunch of holes where an API just plain
isn't supported on all platforms but makes no mention of it. This is
one of them.
That call also fails on Wayland compositors, for example.
This should be fixed in Qt by documenting that this doesn't succeed on
all platforms, and allowing you to check whether you're on a platform
where it will.
--
Mir-devel mailing list
Mir-devel@lists.ubuntu.com
Modify settings or unsubscribe at:
https://lists.ubuntu.com/mailman/listinfo/mir-devel