<html>
    <head>
      <base href="https://bugs.freedesktop.org/">
    </head>
    <body>
      <p>
        <div>
            <b><a class="bz_bug_link 
          bz_status_NEW "
   title="NEW - eglGetDisplay() is broken for Wayland"
   href="https://bugs.freedesktop.org/show_bug.cgi?id=103757#c5">Comment # 5</a>
              on <a class="bz_bug_link 
          bz_status_NEW "
   title="NEW - eglGetDisplay() is broken for Wayland"
   href="https://bugs.freedesktop.org/show_bug.cgi?id=103757">bug 103757</a>
              from <span class="vcard"><a class="email" href="mailto:daniel@fooishbar.org" title="Daniel Stone <daniel@fooishbar.org>"> <span class="fn">Daniel Stone</span></a>
</span></b>
        <pre>(In reply to Emil Velikov from <a href="show_bug.cgi?id=103757#c4">comment #4</a>)
<span class="quote">> <cheeky>
> I do recall mentioning that exposing the same symbol(s) will lead to bad
> experiences. Followed by some ideas...
> </cheeky></span >

Yep, as per the discussion on inlining wayland_drm_buffer_get. :)

It certainly hurts, but then again breaking ABI and forcing every single
Wayland user to rebuild - probably having to change every symbol name in the
API to make sure there was no clash between the two when loaded - would be
uncharted depths of pain.

On the other hand, the solution is the same: look at the interface name, rather
than ever compare pointers equally. Unfortunately, we can't use the same
solution since the wayland-drm one only works for wl_resource in
libwayland-server rather than a plain wl_interface or a wl_proxy ... oh well.

<span class="quote">> A better heuristic would be to use dladdr() for eglGetDisplay. See the
> analogous GBM patch [1].</span >

I don't think that would necessarily fix it, particularly if the
wayland-client.so.1 being loaded differed, e.g. due to people linking their own
copies?</pre>
        </div>
      </p>


      <hr>
      <span>You are receiving this mail because:</span>

      <ul>
          <li>You are the QA Contact for the bug.</li>
      </ul>
    </body>
</html>