<html>
    <head>
      <base href="https://bugs.freedesktop.org/" />
    </head>
    <body><table border="1" cellspacing="0" cellpadding="8">
        <tr>
          <th>Priority</th>
          <td>medium
          </td>
        </tr>

        <tr>
          <th>Bug ID</th>
          <td><a class="bz_bug_link 
          bz_status_NEW "
   title="NEW --- - Fullscreen windows of X applications become black"
   href="https://bugs.freedesktop.org/show_bug.cgi?id=83502">83502</a>
          </td>
        </tr>

        <tr>
          <th>Assignee</th>
          <td>wayland-bugs@lists.freedesktop.org
          </td>
        </tr>

        <tr>
          <th>Summary</th>
          <td>Fullscreen windows of X applications become black
          </td>
        </tr>

        <tr>
          <th>QA Contact</th>
          <td>xorg-team@lists.x.org
          </td>
        </tr>

        <tr>
          <th>Severity</th>
          <td>major
          </td>
        </tr>

        <tr>
          <th>Classification</th>
          <td>Unclassified
          </td>
        </tr>

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

        <tr>
          <th>Reporter</th>
          <td>afpacket@gmail.com
          </td>
        </tr>

        <tr>
          <th>Hardware</th>
          <td>All
          </td>
        </tr>

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

        <tr>
          <th>Version</th>
          <td>unspecified
          </td>
        </tr>

        <tr>
          <th>Component</th>
          <td>XWayland
          </td>
        </tr>

        <tr>
          <th>Product</th>
          <td>Wayland
          </td>
        </tr></table>
      <p>
        <div>
        <pre>If you make a X application running on Weston and Xwayland a fullscreen, it
displays black screen.

I bisected and the first bad commit seems to be:
6458ec3410b5ce3daa3c3af9c4d19248817e244a is the first bad commit
commit 6458ec3410b5ce3daa3c3af9c4d19248817e244a
Author: Jasper St. Pierre <<a href="mailto:jstpierre@mecheye.net">jstpierre@mecheye.net</a>>
Date:   Fri Apr 11 16:00:31 2014 -0700

    shell: Centralize management of sending configure requests

    Currently, there's a giant bug in how xdg-shell state management
    is done. If a client calls set_fullscreen and then set_maximized,
    it will get two configure events:

      => set_fullscreen
      <= configure(800, 600, [STATE_FULLSCREEN])

      => set_maximized
      <= configure(800, 560, [STATE_FULLSCREEN, STATE_MAXIMIZED])

    Since fullscreen takes precedence over maximized, the client will
    render full-screen at 800x600 first, and then 800x560 next. As
    a result, the surface gets the wrong size.

    This is because the code that sends out configure requests is
    "immediate" -- when an app calls set_maximized, we immediately
    send out the configure event that would have happened if we
    transitioned immediately into maximized mode.

    In wl_shell, this is correct behavior. However, in xdg-shell,
    this is wrong. State needs to be more carefully managed in
    xdg-shell, as states aren't exclusive.

    Pull all the code that sends out configure events out and send
    them centrally, based on Weston's on surface state management.
    This should work with both wl_shell and xdg_shell's strategies.

:040000 040000 4d1b2ccda8fac9dd6bcf12ac4631646ca08b860e
a22d3b0d75a9bed09beace451d3e890f0b705650 M      desktop-shell</pre>
        </div>
      </p>
      <hr>
      <span>You are receiving this mail because:</span>
      
      <ul>
          <li>You are the assignee for the bug.</li>
      </ul>
    </body>
</html>