<html>
    <head>
      <base href="https://bugzilla.gnome.org/" />
    </head>
    <body><span class="vcard"><a href="page.cgi?id=describeuser.html&login=ofourdan%40redhat.com" title="Olivier Fourdan <ofourdan@redhat.com>"> <span class="fn">Olivier Fourdan</span></a>
</span> changed
              <a class="bz_bug_link 
          bz_status_NEW "
   title="NEW - Gtk.Popover misplacement in Wayland"
   href="https://bugzilla.gnome.org/show_bug.cgi?id=774148">bug 774148</a>
          <br>
             <table border="1" cellspacing="0" cellpadding="8">
          <tr>
            <th>What</th>
            <th>Removed</th>
            <th>Added</th>
          </tr>

         <tr>
           <td style="text-align:right;">Attachment #344713 status</td>
           <td>reviewed
           </td>
           <td>none
           </td>
         </tr>

         <tr>
           <td style="text-align:right;">Attachment #344713 is obsolete</td>
           <td>
                
           </td>
           <td>1
           </td>
         </tr></table>
      <p>
        <div>
            <b><a class="bz_bug_link 
          bz_status_NEW "
   title="NEW - Gtk.Popover misplacement in Wayland"
   href="https://bugzilla.gnome.org/show_bug.cgi?id=774148#c7">Comment # 7</a>
              on <a class="bz_bug_link 
          bz_status_NEW "
   title="NEW - Gtk.Popover misplacement in Wayland"
   href="https://bugzilla.gnome.org/show_bug.cgi?id=774148">bug 774148</a>
              from <span class="vcard"><a href="page.cgi?id=describeuser.html&login=ofourdan%40redhat.com" title="Olivier Fourdan <ofourdan@redhat.com>"> <span class="fn">Olivier Fourdan</span></a>
</span></b>
        <pre>Created <span class=""><a href="attachment.cgi?id=345232&action=diff" name="attach_345232" title="[PATCH] gdkwindow: subsurface in gdk_window_get_effective_parent()">attachment 345232</a> <a href="attachment.cgi?id=345232&action=edit" title="[PATCH] gdkwindow: subsurface in gdk_window_get_effective_parent()">[details]</a></span> <a href='review?bug=774148&attachment=345232'>[review]</a>
[PATCH] gdkwindow: subsurface in gdk_window_get_effective_parent()

When the GtkWidget hierarchy does not match the GdkWindow hierarchy, the
GtkWidget code may find a common ancestor that cannot be found while
traversing the GdkWindow tree using gdk_window_get_effective_parent().

This happens with for example on Wayland, a GtkPopover has another
GtkPopover as parent, in this case, the GdkWindow parent is the root
window, whereas the GtkWidget parent is the other GtkPopover.

That confuses the gtk_widget_translate_coordinates() logic which will
bail out in this case and won't return the translated coordinates.

Make gdk_window_get_effective_parent() aware of subsurfaces and use the
transient_for which represents the actual parent (whereas the parent
might be pointing to the root window).</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>