<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Wed, Nov 13, 2013 at 3:41 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">Is this to force the commit so that the subsurface appears? It might be better to have a direct way to get the commit to happen without redrawing the main surface.<br>
</blockquote><div><br></div><div>It's to make sure that the transient's position and size is set, and that its redraw handler is called and that the subsurface is placed accordingly. I don't think we care too much about toytoolkit efficiently, so I'm fine with queueing a full redraw. Feel free to fix it if you feel strongly about making toytoolkit performant.<br>
</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">In any case this looks a lot like you are hiding a bug that perhaps should be investigated, especially if it is in weston or your compositor, rather than in the toytoolkit.<br>
<div class="HOEnZb"><div class="h5"></div></div></blockquote><div><br></div><div>It is not a bug in the compositor. It's a bug in toytoolkit.<br><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div class="HOEnZb"><div class="h5">
Jasper St. Pierre wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
If a client adds a subsurface, we need to make sure it's allocated<br>
properly, so queue a resize and redraw on the parent window.<br>
---<br>
clients/window.c | 3 +++<br>
1 file changed, 3 insertions(+)<br>
<br>
diff --git a/clients/window.c b/clients/window.c<br>
index 5a1c8ec..df56bd9 100644<br>
--- a/clients/window.c<br>
+++ b/clients/window.c<br>
@@ -4462,6 +4462,9 @@ window_add_subsurface(struct window *window, void *data,<br>
assert(!"bad enum subsurface_mode");<br>
}<br>
+ window->resize_needed = 1;<br>
+ window_schedule_redraw(window)<u></u>;<br>
+<br>
return widget;<br>
}<br>
<br>
</blockquote>
</div></div></blockquote></div><br><br clear="all"><br>-- <br> Jasper<br>
</div></div>