1
0
Fork 0
mirror of https://github.com/OpenMW/openmw.git synced 2025-04-01 22:06:40 +00:00
openmw/components
elsid b8fcd6d3ba
Manage work item lifetime on the client side
Instead of explicit work queue stop before any possibly used engine manager
is destructed. Based on an assumption that any engine manager can be destructed
independently from the work queue destruction. This model is already used in
CellPreloader that conflicts with explicit work queue stop.

After the work queue is requested to be stopped, any client waiting for a not
started work item to be done will wait forever because the work item is dropped
from the queue. Therefore either clients should not wait for own work items to
be completed in destructor or the work queue should not drop items before
clients are destructed. Other approaches are possible but are not considered
due to increasing complexity.

CellPreloader already tries to wait for all created work items to be done so
keep it that way and extend the model to AsyncScreenCaptureOperation and Scene.
Additionally abort all scheduled work items when owner is destructed. This
prevents a long exit when multiple screenshots are scheduled right before
exiting the game.
2021-07-12 11:41:14 +02:00
..
bsa Merge branch 'noreturn' into 'master' 2021-06-24 19:21:29 +00:00
bullethelpers Detect and ignore updates for oscillating objects 2021-04-18 23:00:13 +02:00
compiler Console command "reload lua" 2021-07-09 20:24:56 +02:00
config change setValue to replace value instead of insert 2021-07-05 13:22:46 +00:00
contentselector Sprinkle some const ref 2021-06-25 21:54:35 +02:00
crashcatcher Fix MSVC's C4267 warnings 2021-05-12 10:34:39 +04:00
debug Fixing performance-faster-string-find issues 2021-05-10 22:44:07 -05:00
detournavigator Use RecastMeshBuilder once to create RecastMesh 2021-07-04 22:18:05 +02:00
esm Fixes and refactoring 2021-07-09 20:48:54 +02:00
esmterrain Replace zeroes and nulls by nullptrs 2020-11-29 11:14:07 +04:00
fallback Fixing performance-faster-string-find issues 2021-05-10 22:44:07 -05:00
files Reduce a bit the code bloat in hot paths/small functions 2021-06-15 17:57:14 +02:00
fontloader Delete an outdated/irrelevant comment 2021-06-29 22:52:40 +02:00
interpreter Sprinkle some const ref 2021-06-25 21:54:35 +02:00
loadinglistener Always center loading screen progress bar by height when there is active message box 2021-05-26 23:29:37 +02:00
lua Add missing include from sol/sol.hpp 2021-07-10 01:01:50 +02:00
misc Sprinkle some const ref 2021-06-25 21:54:35 +02:00
myguiplatform Fix MSVC's C4244 warnings 2021-05-12 10:34:40 +04:00
nif Sprinkle some [[noreturn]] where possible 2021-06-22 12:51:08 +02:00
nifbullet Sprinkle some [[noreturn]] where possible 2021-06-22 12:51:08 +02:00
nifosg Adapt destination alpha factor for AMD 2021-07-04 23:00:33 +01:00
process Remove redundant includes 2019-02-23 08:02:12 +04:00
queries Add missing include from sol/sol.hpp 2021-07-10 01:01:50 +02:00
resource Merge branch 'staticsload' into 'master' 2021-06-28 20:25:51 +00:00
sceneutil Manage work item lifetime on the client side 2021-07-12 11:41:14 +02:00
sdlutil Discard button press events during save loading (bug #5619) 2021-05-16 16:04:28 +04:00
settings Sprinkle some [[noreturn]] where possible 2021-06-22 12:51:08 +02:00
shader Disable coverage adjustment for blended objects 2021-07-04 23:29:22 +01:00
terrain Recreate a special case for IntersectionVisitor on QuadTreeWorld 2021-05-11 16:34:02 +04:00
to_utf8 Replace a handrolled memcpy with an actual call to memcpy 2021-06-22 12:52:29 +02:00
translation Replace all NULLs to nullptr 2018-10-09 10:21:12 +04:00
version Allow getting available version information even when clone is shallow 2017-03-07 21:53:49 +01:00
vfs Minor optimisation in VFS::FileSystemArchive::listResources 2021-06-23 12:46:44 +02:00
widgets Fix MSVC's C4267 warnings 2021-05-12 10:34:39 +04:00
CMakeLists.txt Fixes and refactoring 2021-07-09 20:48:54 +02:00
doc.hpp second set of additional doxygen comments 2010-09-25 20:15:05 +02:00