<html>
    <head>
      <base href="https://bugzilla.gnome.org/" />
    </head>
    <body>
      <p>
        <div>
            <b><a class="bz_bug_link 
          bz_status_NEW "
   title="NEW - [wayland] dropdown placed somewhere in the screen"
   href="https://bugzilla.gnome.org/show_bug.cgi?id=776225#c4">Comment # 4</a>
              on <a class="bz_bug_link 
          bz_status_NEW "
   title="NEW - [wayland] dropdown placed somewhere in the screen"
   href="https://bugzilla.gnome.org/show_bug.cgi?id=776225">bug 776225</a>
              from <span class="vcard"><a href="page.cgi?id=describeuser.html&login=jadahl%40gmail.com" title="Jonas Ådahl <jadahl@gmail.com>"> <span class="fn">Jonas Ådahl</span></a>
</span></b>
        <pre>Created <span class=""><a href="attachment.cgi?id=342924&action=diff" name="attach_342924" title="wayland: Handle subsurface as popup parent">attachment 342924</a> <a href="attachment.cgi?id=342924&action=edit" title="wayland: Handle subsurface as popup parent">[details]</a></span> <a href='review?bug=776225&attachment=342924'>[review]</a>
wayland: Handle subsurface as popup parent

When a subsurface is used as a parent of a popup, GDK needs to traverse
up to the transient-for as the next parent, to properly find the parent
used by the popup positioner. This is because the parent of a popup
must always either be an xdg_popup or an xdg_surface, but traversing
the "parent" (in GDK terms) upwards from a subsurface will end up on
the fake root window before we hit the actual parent (in Wayland terms).

---

I have only tested this with the widget factory (I found a place where a popup
is a child of a popover on Page 3, by pressing "Open" then opening a context
menu in the text entry. This patch fixes that case, and I suspect other
misplaced popups that had to pass by a subsurface should be fixed as well, if
there is no other issue involved as well.</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>