<div dir="ltr"><div class="gmail_extra"><br><div class="gmail_quote">On Wed, Aug 20, 2014 at 12:52 PM, Bill Spitzak <span dir="ltr"><<a href="mailto:spitzak@gmail.com" target="_blank">spitzak@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class=""><br>
<br>
On 08/20/2014 03:06 AM, Pekka Paalanen wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
On Tue, 19 Aug 2014 13:04:54 -0700<br>
Bill Spitzak <<a href="mailto:spitzak@gmail.com" target="_blank">spitzak@gmail.com</a>> wrote:<br>
</blockquote>
<br>
</div><div class=""><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

Destroying the last protocol object for the role does not remove the<br>
role, correct? The client can recreate a new protocol object for that<br>
role and it still works?<br>
</blockquote>
<br>
Recreating the same role works, because that is kind of required with<br>
cursors and drag icons.<br>
</blockquote>
<br></div>
Yes I think my questions were also asked and answered (mostly) in another thread of this email. It sounds like "removing a role" is not actually something that happens.<br>
<br>
I feel that destroying the role object should not have any effect. So destroying the xdg_shell_surface would not change how the surface is displayed. The client could create a new xdg_shell_surface object and continue manipulating the surface with it.<br>

<br>
The reason is that it seems very inconsistent with the ability to create more than one instance of the same role object. Now destroying all except the last one has no effect, but destroying the last one does?</blockquote>
<div><br></div><div>For wl_shell_surface, wl_subsurface, and xdg_surface, you can only have one role object per wl_surface.  I think we're pretty consistent about this.  Other roles such as wl_pointer.set_cursor don't involve an object so it's not really an issue.  There is the question of whether you should be allowed to use the same surface for multple cursors but weston allows this, but (from my experience app-writing) doesn't make sense for the app to do since it needs to be able to respond to movement events with different cursor images per pointer.<br>
<br></div><div>--Jason<br></div></div><br></div></div>