> > Adding to CCD object reference to WDDM interface that includes it. > This allows to use WDDM methods from CCD methods. > This is just spaghetti code. CCD was added to deal with a specific Windows API, if now it calls WDDMInterface it does not make any sense. Would be better to just send the escape from WDDMInterface::set_monitor_state in case the state became detached. > Signed-off-by: Yuri Benditovich <yuri.benditovich@xxxxxxxxxx> > --- > vdagent/display_configuration.cpp | 4 +++- > vdagent/display_configuration.h | 5 ++++- > 2 files changed, 7 insertions(+), 2 deletions(-) > > diff --git a/vdagent/display_configuration.cpp > b/vdagent/display_configuration.cpp > index bb2fb80..f535a38 100644 > --- a/vdagent/display_configuration.cpp > +++ b/vdagent/display_configuration.cpp > @@ -416,6 +416,7 @@ WDDMInterface::WDDMInterface() > , _pfnEscape(NULL) > , _pfnOpen_adapter_device_name(NULL) > , _pfnOpen_adapter_gdi_name(NULL) > + , _ccd(*this) > { > LONG error(0); > //Can we find the D3D calls we need? > @@ -679,7 +680,7 @@ bool WDDMInterface::escape(LPCTSTR device_name, void* > data, UINT size_data) > return NT_SUCCESS(status); > } > > -CCD::CCD() > +CCD::CCD(WDDMInterface& wddm) > :_numPathElements(0) > ,_numModeElements(0) > ,_pPathInfo(NULL) > @@ -690,6 +691,7 @@ CCD::CCD() > ,_pfnSetDisplayConfig(NULL) > ,_primary_detached(false) > ,_path_state(PATH_UPDATED) > + ,_wddm(wddm) > { > load_api(); > get_config_buffers(); > diff --git a/vdagent/display_configuration.h > b/vdagent/display_configuration.h > index 7b5578e..81fabfe 100644 > --- a/vdagent/display_configuration.h > +++ b/vdagent/display_configuration.h > @@ -48,9 +48,11 @@ typedef LONG(APIENTRY* PQUERYDISPLAYCONFIG)(UINT32, > UINT32*, DISPLAYCONFIG_PATH_ > typedef LONG(APIENTRY* PSETDISPLAYCONFIG)(UINT32, DISPLAYCONFIG_PATH_INFO*, > UINT32, > DISPLAYCONFIG_MODE_INFO*, UINT32); > > +class WDDMInterface; > + > class CCD { > public: > - CCD(); > + CCD(WDDMInterface& wddm); > ~CCD(); > > bool query_display_config(); > @@ -87,6 +89,7 @@ private: > > bool _primary_detached; > PATH_STATE _path_state; > + WDDMInterface& _wddm; > }; > > class DisplayMode; Frediano _______________________________________________ Spice-devel mailing list Spice-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/spice-devel