Добрый день
Ну конечно "работать с UI только в главной thread" - это все знают. Однако у меня (приложение не использует Qt) возникла ситуация где очень захотелось "не из главной" - иначе переделывать много. Ну думаю почему нет - ведь я могу обеспечить что одна (и только одна) нитка работает с UI. Не тут-то было. Неприятности начались на таком старом нативном коде
C++ (Qt)
::SetGDevice(::GetMainDevice());
:WaitNextEvent(everyEvent, &macEvent, 0, sMouseRgn);
Если звать это из разных ниток, то приходит только событие движения мыши, а вот все остальное (keyDown, mouseDown) нет. Если звать только из главной - все норм.
Да, эти ф-ции помечены как "not thread-safe" и, я так понял, это значит не только "нельзя вызывать одновременно", но и вообще "нельзя вызывать разными" (пусть последовательно)
А что говорит теория, (содержательные) ссылки и.т.п.?
Спасибо