<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] Submenus often get closed after ~2 seconds"
   href="https://bugzilla.gnome.org/show_bug.cgi?id=768016">768016</a>
          </td>
        </tr>

        <tr>
          <th>Summary</th>
          <td>[Wayland] Submenus often get closed after ~2 seconds
          </td>
        </tr>

        <tr>
          <th>Classification</th>
          <td>Platform
          </td>
        </tr>

        <tr>
          <th>Product</th>
          <td>gtk+
          </td>
        </tr>

        <tr>
          <th>Version</th>
          <td>3.20.x
          </td>
        </tr>

        <tr>
          <th>OS</th>
          <td>All
          </td>
        </tr>

        <tr>
          <th>Status</th>
          <td>NEW
          </td>
        </tr>

        <tr>
          <th>Severity</th>
          <td>major
          </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>gnome@genodeftest.de
          </td>
        </tr>

        <tr>
          <th>QA Contact</th>
          <td>gtk-bugs@gtk.org
          </td>
        </tr>

        <tr>
          <th>CC</th>
          <td>rob@robster.org.uk, wayland-bugs@lists.freedesktop.org
          </td>
        </tr>

        <tr>
          <th>GNOME version</th>
          <td>---
          </td>
        </tr></table>
      <p>
        <div>
        <pre>Steps to reproduce:
0. have a wayland compositor, e.g. weston or gnome-wayland session
1. open any Gtk+ 3.x application with "old" menus (see "Affected applications"
below)
2. open any menu (e.g. "File" or "View") ("2nd level")
3. open any submenu ("3rd level") on a menu item in 2nd level menu
4. focus mouse (hover) on submenu

What happens:
After ~2 seconds, submenu hides. In menu, focus changes to some other item in
2nd level menu. The newly selected menu item in 2nd level menu will be a menu
item above the previously selected item in 2nd level. If the previously
selected item is the first one in 2nd level, any menu item could be selected.
The menu item newly selected in 2nd level menu varies depending on the menu
item previously focused in 3rd level menu.

What should happen:
submenu should not hide while having input focus. There is no reason to change
focus without user interaction.

Affected applications:
* gnome-terminal
* evolution
* anjuta
* libreoffice (recent Gtk+ 3 builds, default on Fedora 24)
* probably others

This issue does not affect these types of applications:
* Qt 4 or 5 based applications
* Gtk+ 2 based applications
* firefox (drawing its own menu bar)
* Gtk+ 3 based applications with menus based on GtkPopover (e.g. epiphany,
gedit)
* Gtk+ 3 based applications with X11 backend (even on gnome-wayland sessions)

This issue is also present when running Gtk+ 3 applications inside weston, but
it is specific to the wayland backend.

This issue is present whether or not animations are enabled.

This issue can not always be reproduced. It seems like fast mouse moving on a
menu reduces the probability for this to happen. On my "normal" usage it
happens ~80% of all cases when I open a menu.

There is nothing related in logs, even with G_ENABLE_DIAGNOSTICS=1 added to
environment.

Valgrind doesn't spit out anything, even without suppression files. Looks like
memory is fine.

Workaround:
Start applications with GDK_BACKEND=x11 added to environment when running a
gnome-wayland session.</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>