<html>
<head>
<base href="https://bugzilla.gnome.org/" />
</head>
<body><table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Bug ID</th>
<td><a class="bz_bug_link
bz_status_NEW "
title="NEW - Wayland: gtkcombox menu misplaced in master"
href="https://bugzilla.gnome.org/show_bug.cgi?id=766722">766722</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>Wayland: gtkcombox menu misplaced in master
</td>
</tr>
<tr>
<th>Classification</th>
<td>Platform
</td>
</tr>
<tr>
<th>Product</th>
<td>gtk+
</td>
</tr>
<tr>
<th>Version</th>
<td>unspecified
</td>
</tr>
<tr>
<th>OS</th>
<td>Linux
</td>
</tr>
<tr>
<th>Status</th>
<td>NEW
</td>
</tr>
<tr>
<th>Severity</th>
<td>normal
</td>
</tr>
<tr>
<th>Priority</th>
<td>Normal
</td>
</tr>
<tr>
<th>Component</th>
<td>Backend: Wayland
</td>
</tr>
<tr>
<th>Assignee</th>
<td>gtk-bugs@gtk.org
</td>
</tr>
<tr>
<th>Reporter</th>
<td>ofourdan@redhat.com
</td>
</tr>
<tr>
<th>QA Contact</th>
<td>gtk-bugs@gtk.org
</td>
</tr>
<tr>
<th>CC</th>
<td>jadahl@gmail.com, rob@robster.org.uk, wayland-bugs@lists.freedesktop.org
</td>
</tr>
<tr>
<th>Depends on</th>
<td>766566
</td>
</tr>
<tr>
<th>GNOME version</th>
<td>---
</td>
</tr></table>
<p>
<div>
<pre>Description:
The fix for <a class="bz_bug_link
bz_status_RESOLVED bz_closed"
title="RESOLVED FIXED - Wayland: gdk_screen_get_monitor_at_window() unreliable under Wayland"
href="show_bug.cgi?id=766566">bug 766566</a> introduced a discrepancy for Wayland, because gtk+
compares the size and position of the monitor returned from the device event's
root coordinates against the monitor's position and size returned by
get_monitor_at_window().
Since there is no such thing as global root coordinates in Wayland (just fake
root coordinates which are relative to the toplevel surface), and those values
that may not match in a multi monitor layout now that get_monitor_at_window()
returns the right monitor.
How reproducible:
100%
Steps to reproduce:
1. Build gtk+
2. Run "gtk3-demo --run combobox" on a multi-monitor setup
3. Open combo box menus.
Actual results:
The menu is placed at a screen edge
Expected results:
The menu is placed next to the combo box
Additional info:
One possibility would be to use gdk_display_get_monitor_at_point() every time
to have consistent (either right or wrong) results on Wayland as well as other
backends.
Proposed patch to follow, mostly an RFC. We can as well wait for the fixes for
<a class="bz_bug_link
bz_status_NEW "
title="NEW - GTK should let GDK position menus"
href="show_bug.cgi?id=756579">bug 756579</a> to land.</pre>
</div>
</p>
<hr>
<span>You are receiving this mail because:</span>
<ul>
<li>You are on the CC list for the bug.</li>
</ul>
</body>
</html>