RT Camera may work incorrectly if two RT Screens are connected to it.
stepa2 opened this issue · 1 comments
It seems that, if RT Camera is connected to two monitors, of which only one is enabled,
one monitor can break another depending on the clientside :Think
order.
I can't right now check if this issue actually exists and fix it, but it seems to exist, according to the code.
I've personally seen a bug when monitor breaks, but I'm not sure if it related to this issue.
wire/lua/entities/gmod_wire_rt_screen.lua
Lines 209 to 226 in 4038ae0
To fix this, cameras clientside should store set of entities (for future compatibility, not necessary screens) that are observing it and :AddObserver(ent)
and :RemoveObserver(ent)
functions.
:AddObserver
should call:SetIsObserved(true)
(always, as after:AddObserver
called, there will be >=1 observers).:RemoveObserver
should call:SetIsObserved(false)
, if it removed last observer.
Just checked - yeah, one monitor may disable another if in correct order