1
0
Fork 0
mirror of https://github.com/OpenMW/openmw.git synced 2025-12-07 18:04:34 +00:00
openmw/apps/openmw
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
..
mwbase Add function World::isCellActive 2021-07-09 20:48:54 +02:00
mwclass Add LocalScripts::LocalEngineEvent. Add OnConsume engine handler. 2021-07-09 20:48:54 +02:00
mwdialogue Use a std::vector instead of a std::list in hypertextparser.cpp 2021-07-01 23:09:08 +00:00
mwgui Console command "reload lua" 2021-07-09 20:24:56 +02:00
mwinput Interactions between LuaManager and other parts of OpenMW 2021-07-09 20:24:56 +02:00
mwlua OpenMW Lua, API_VERSION=0 2021-07-09 20:48:54 +02:00
mwmechanics Fixes and refactoring 2021-07-09 20:48:54 +02:00
mwphysics Delay physics for objects created by scripts 2021-07-05 18:34:06 +02:00
mwrender fix black objects with OP batch debug due to unitialized uniform 2021-07-11 23:03:55 -07:00
mwscript Console command "reload lua" 2021-07-09 20:24:56 +02:00
mwsound Use default instead of empty constructors/destructors 2021-06-24 00:26:15 +02:00
mwstate Saving/loading for Lua scripts (saves format is changed) 2021-07-09 20:24:56 +02:00
mwworld Manage work item lifetime on the client side 2021-07-12 11:41:14 +02:00
android_main.cpp android: Switch to C++ 2019-04-28 18:21:31 -04:00
CMakeLists.txt Add Cell Lua bindings 2021-07-09 20:48:54 +02:00
doc.hpp Fixed more spelling mistakes 2016-12-15 13:09:40 +01:00
engine.cpp Manage work item lifetime on the client side 2021-07-12 11:41:14 +02:00
engine.hpp Manage work item lifetime on the client side 2021-07-12 11:41:14 +02:00
main.cpp Control active Lua scripts from openmw.cfg 2021-07-09 20:24:56 +02:00