summaryrefslogtreecommitdiff
path: root/indra/cmake/LLAudio.cmake
diff options
context:
space:
mode:
authorNat Goodspeed <nat@lindenlab.com>2021-11-05 17:20:11 -0400
committerNat Goodspeed <nat@lindenlab.com>2021-11-05 17:20:11 -0400
commitc7af4921db7f62005f3f668ca7fca45d01d80781 (patch)
treedc14f71ef7cc16e0963d89708bfbed1fce589419 /indra/cmake/LLAudio.cmake
parentff5496239bffadaca111b1e4380a01447f85843a (diff)
SL-16094: Use ThreadPool for LLWindowWin32Thread.
Move the whole LLWindowWin32Thread class inside LLWindowWin32, and make it a struct. Migrate the struct declaration to llwindowwin32.cpp. Derive it from ThreadPool, which provides the WorkQueue. Use runPending() instead of manually popping and running individual queue items. Make its post() operation always PostMessage(bogus) whenever we put an entry in the WorkQueue, so we won't remain blocked in GetMessage(). Instead of storing a back pointer to the LLWindowWin32 instance, store the relevant HWND and HDC in LLWindowWin32Thread itself to avoid cross-thread timing problems. Extract both instances of a large duplicated block of LLWindowWin32 code to a new recreateWindow() method, and call it in those places. Per the TODO, use a std::future to pass the new HWND and HDC back to LLWindowWin32 -- but also store them locally on the LLWindowWin32Thread instance.
Diffstat (limited to 'indra/cmake/LLAudio.cmake')
0 files changed, 0 insertions, 0 deletions