<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css" style="display:none;"> P {margin-top:0;margin-bottom:0;} </style>
</head>
<body dir="ltr">
<div style="font-family: Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<span style="color: rgb(50, 49, 48); font-family: Calibri, Helvetica, sans-serif; font-size: 14.6667px; background-color: rgb(255, 255, 255); display: inline !important">calling wl_event_loop_dispatch() is not a working solution:  keeps tripping over a few
 different assertions causing crash, and doesn't seem to dispatch key events.</span><br>
</div>
<div style="font-family: Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<span style="color: rgb(50, 49, 48); font-family: Calibri, Helvetica, sans-serif; font-size: 14.6667px; background-color: rgb(255, 255, 255); display: inline !important"><br>
</span></div>
<div style="font-family: Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<span style="color: rgb(50, 49, 48); font-family: Calibri, Helvetica, sans-serif; font-size: 14.6667px; background-color: rgb(255, 255, 255); display: inline !important">I've seen: </span></div>
<div style="font-family: Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<span style="color: rgb(50, 49, 48); font-family: Calibri, Helvetica, sans-serif; font-size: 14.6667px; background-color: rgb(255, 255, 255); display: inline !important"></span></div>
<span>- page_flip_handler: Assertion `output->page_flip_pending' failed.<br>
</span>
<div style="font-family: Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<span style="color: rgb(50, 49, 48); font-family: Calibri, Helvetica, sans-serif; font-size: 14.6667px; background-color: rgb(255, 255, 255); display: inline !important"><span><span>- weston_output_finish_frame: Assertion `output->repaint_status == REPAINT_AWAITING_COMPLETION'
 failed.</span></span><br>
</span></div>
<div>
<div id="appendonsend"></div>
<div style="font-family:Calibri,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
<br>
</div>
<hr tabindex="-1" style="display:inline-block; width:98%">
<div id="divRplyFwdMsg" dir="ltr"><font face="Calibri, sans-serif" color="#000000" style="font-size:11pt"><b>From:</b> Josh Simonot <JSimonot@live.ca><br>
<b>Sent:</b> February 12, 2020 11:55 AM<br>
<b>To:</b> Pekka Paalanen <ppaalanen@gmail.com><br>
<b>Cc:</b> wayland-devel@lists.freedesktop.org <wayland-devel@lists.freedesktop.org><br>
<b>Subject:</b> Re: repaint after notify_button() ?</font>
<div> </div>
</div>
<div dir="ltr">
<div style="font-family:Calibri,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
The <span style="color:rgb(50,49,48); font-size:14.6667px; background-color:rgb(255,255,255); display:inline!important">notify_*() functions are called immediately, and then the 10 second delay.  The <span style="background-color:rgb(255,255,255); display:inline!important">event
 loop is definitely sleeping. </span></span></div>
<div style="font-family:Calibri,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
<span style="color:rgb(50,49,48); font-size:14.6667px; background-color:rgb(255,255,255); display:inline!important"><span style="background-color:rgb(255,255,255); display:inline!important"><br>
</span></span></div>
<div style="font-family:Calibri,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
<span style="color:rgb(50,49,48); font-size:14.6667px; background-color:rgb(255,255,255); display:inline!important"><span style="background-color:rgb(255,255,255); display:inline!important">What's the best way to wake it up from within the backend?  I tried:
 wl_event_loop_dispatch(loop, 0); and this works - just not sure if it is the right way to do it (ran into segfault after a short time, not sure if its related...), and feels more like a workaround to the real issue.</span></span></div>
<div style="font-family:Calibri,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
<span style="color:rgb(50,49,48); font-size:14.6667px; background-color:rgb(255,255,255); display:inline!important"><span style="background-color:rgb(255,255,255); display:inline!important"><br>
</span></span></div>
<div style="font-family:Calibri,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
<span style="color:rgb(50,49,48); font-size:14.6667px; background-color:rgb(255,255,255); display:inline!important"><span style="background-color:rgb(255,255,255); display:inline!important">I'm also trying wl_display_dispatch_pending() , but am getting undefined
 symbol at the moment.  </span></span></div>
<div style="font-family:Calibri,Arial,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
<br>
<hr tabindex="-1" style="display:inline-block; width:98%">
<b>From:</b> Pekka Paalanen<br>
<b>Sent:</b> Wednesday, February 12, 2020 4:35 AM<br>
<b>To:</b> Josh Simonot<br>
<b>Cc:</b> wayland-devel@lists.freedesktop.org<br>
<b>Subject:</b> Re: repaint after notify_button() ?
<div><br>
</div>
</div>
<div class="x_BodyFragment"><font size="2"><span style="font-size:11pt">
<div class="x_PlainText">On Tue, 11 Feb 2020 15:59:35 +0000<br>
Josh Simonot <JSimonot@live.ca> wrote:<br>
<br>
> Thanks for the reply!<br>
> I have a big update: it's not the screen refresh at all.<br>
> <br>
> Using the weston-eventdemo, I see that the pointer events aren't<br>
> delivered to the app until 10 seconds after clicking.  Maybe that<br>
> sheds some light on what could be happening?<br>
> <br>
> And events are delivered immediately if I'm also running an app like<br>
> weston-simple-egl or weston-simple-damage.<br>
> <br>
> I'll check the WAYLAND_DEBUG / socket flushing.<br>
<br>
Hi,<br>
<br>
have you checked at what time you call the notify_*() functions? Are<br>
they called the 10 seconds before or are they already delayed?<br>
<br>
Sounds like you might have issues with the compositor event loop, maybe<br>
not servicing your extra event sources in a timely manner. I assume you<br>
are aware that the compositor main event loop does not spin regularly,<br>
it only spins if any event source is ready. Therefore it may sleep for<br>
arbitrarily long times, and clients sending requests can wake it up<br>
which would explain why extra apps can work around it.<br>
<br>
<br>
Thanks,<br>
pq<br>
</div>
</span></font></div>
</div>
</div>
</body>
</html>