<html>
    <head>
      <base href="https://bugzilla.gnome.org/" />
    </head>
    <body>
      <p>
        <div>
            <b><a class="bz_bug_link 
          bz_status_NEW "
   title="NEW - wayland: dialog stacking without parents (RFC)"
   href="https://bugzilla.gnome.org/show_bug.cgi?id=759161#c12">Comment # 12</a>
              on <a class="bz_bug_link 
          bz_status_NEW "
   title="NEW - wayland: dialog stacking without parents (RFC)"
   href="https://bugzilla.gnome.org/show_bug.cgi?id=759161">bug 759161</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=317059&action=diff" name="attach_317059" title="[PATCH v2] wayland: Update parent of dialogs without transient">attachment 317059</a> <a href="attachment.cgi?id=317059&action=edit" title="[PATCH v2] wayland: Update parent of dialogs without transient">[details]</a></span> <a href='review?bug=759161&attachment=317059'>[review]</a>
[PATCH v2] wayland: Update parent of dialogs without transient

Changes in v2:

- Don't leak the toplevel list.
- Don't apply set_parent() between dialogs otherwize mutter/gnome-shell will
freeze in an infinite loop.

Note:

There is (small, imho) caveat in this approach, inherent to the Wayland
protocol: If there is more than one "transient-less" dialog (which is rare in a
real life scenario), the resulting stacking order might be wrong between the
dialogs.
That's because there is no stacking info of the toplevels on Wayland (i.e.
gdk_screen_get_window_stack() won't work so we're bound to use
gdk_screen_get_toplevel_windows() to traverse the window tree, and it doesn't
follow the actual current window stacking order).</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>