<div dir="ltr"><div>Hey,<br><br>I've been developing a plugin which pops up a "Load" dialog to the user.<br>This dialog runs "modal" above the main UI: the main interface thread gets held up.<br><br>
This is ok for a while, but becomes an issue if constant updates are sent trough the ringbuffer from the plugin to the UI. The held-up UI thread can't empty the ringbuffer, and events can get lost.<br><br>I'm not sure if this issue has been encountered before?<br>
<br>Possible solution:<br>Write the plugin so that when the dialog opens, the stream of data is temporarily halted: no data is written to the ringbuffer => no overflow.<br><br>This would fix the problem, with the main disadvantage being that every plugin  must have the data-transmission logic. <br>
<br>This is achievable trough quite easily, but is this the cleanest solution?<br><br>GTK & FLTK both have this type of "thread-halting" dialog boxes, and I presume its the same in QT / other toolkits, so I feel its worth discussing before attempting the fix mentioned above.<br>
<br>What opinions are out there? Cheers, -Harry<br></div></div>