Привет. Хочу уточнить, чтобы потом не переделывать: как известно, рисовать гуйню - прерогатива главного потока. FLTK доки - не очень ясно излагают
A worker thread may update the state of an existing widget, but it may not do any rendering directly, nor create or destroy a window.
Что понимается под create or destroy? Нельзя вызывать конструктор виджетов или нельзя вызывать show() из worker’ов? Если ответ отрицательный, до будет проблемно передавать функтор для создания окна в главный поток, т.к. функтор из плагина, значит нужно будет ещё костылить инкремент юзеров модуля, решаемо, но не хочется.
Ну и ещё небольшая непонятка - нужно ли брать Fl::lock() во время создания виджета из другого потока (без вызова show(), если это допустимо)?