<html>
    <head>
      <base href="https://bugzilla.gnome.org/" />
    </head>
    <body>
      <p>
        <div>
            <b><a class="bz_bug_link 
          bz_status_NEW "
   title="NEW - Wayland: menu does not resize after disabling an action"
   href="https://bugzilla.gnome.org/show_bug.cgi?id=772505#c20">Comment # 20</a>
              on <a class="bz_bug_link 
          bz_status_NEW "
   title="NEW - Wayland: menu does not resize after disabling an action"
   href="https://bugzilla.gnome.org/show_bug.cgi?id=772505">bug 772505</a>
              from <span class="vcard"><a href="page.cgi?id=describeuser.html&login=mcrha%40redhat.com" title="Milan Crha <mcrha@redhat.com>"> <span class="fn">Milan Crha</span></a>
</span></b>
        <pre>(In reply to Olivier Fourdan from <a href="show_bug.cgi?id=772505#c18">comment #18</a>)
<span class="quote">> I am somehow tempted to think it's an application issue, I don't think it's
> wise or advisable for the application to update the menu content in a
> timeout callback, is it?</span >

I agree, though there are proper use-cases where you've no other option than
run the checks asynchronously. For the evolution those are the copy/paste
actions, which are visible only if there is anything to copy and more
importantly for the later when there is anything usable to paste. That means
that the update_actions() before the popup menu is shown runs an asynchronous
function to examine the clipboard content, which finishes only after the pop up
menu is shown. While it sounds simple here (just wait with the menu after the
clipboard is examined), the reality is that the related code is buried far from
the place where the popup menu is shown, hidden deep in signal emissions and so
on. This is far from an ideal world with only synchronous calls. (Once the gtk+
will add synchronous clipboard API we are all fine, of course. ;) )

(In reply to Olivier Fourdan from <a href="show_bug.cgi?id=772505#c15">comment #15</a>)
<span class="quote">> Event though a later gtk_menu_size_allocate() is supposed to make it right,
> on Wayland it's the size set in create_dynamic_positioner() (as we are using
> xdg_posiionner now for this) that takes precedence, i.e. the wrong one.</span >

I guess you are going to fix it separately then, right?</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>