> I wonder if there was a change in Scintilla so that configured styles are 
> applied asynchronously

No, Geany does that, `document_open_file_full()` calls `queue_colorise()` which 
calls `widget_queue_draw()` which will call the lexer when the mainloop is idle 
and the next frame is drawn. So it returns without having set styles, and then 
`document_open_file_full()` emits the `document-open` signal that calls 
`ao_tasks_update()` which won't find the tasks because the styles havn't been 
set yet.

AFAICT thats been the way its done forever (at least back to 2017 which was as 
far as I traced it).  So in theory it never worked, maybe GTK has changed its 
scheduling of draws at some point and we didn't notice that this stopped 
working.

Looking at when `ao_tasks_update()` is called, maybe the process of creating 
and setting up a tab caused a page switch after the document is drawn and 
styles are setup.  That would emit a `document-activate` signal which also 
calls `ao_tasks_update()`.  IIRC there was some fiddling with this somewhere, 
but of course I can't find it now ;-P



-- 
Reply to this email directly or view it on GitHub:
https://github.com/geany/geany-plugins/issues/1254#issuecomment-1565778186
You are receiving this because you are subscribed to this thread.

Message ID: <geany/geany-plugins/issues/1254/[email protected]>

Reply via email to