X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;f=Usermode%2FApplications%2Faxwin4_src%2FServer%2FCClient.cpp;h=2abcb9b5ed2714e4ca3e3b9b2bb839dfea684a3c;hb=ba78deafcc3016555469ed263d7a0370fa99db4b;hp=92898b110a92db39a7d13e92870e4851fe93fc09;hpb=73872ce04c3759b35e010af9c16367bc57a14d38;p=tpg%2Facess2.git diff --git a/Usermode/Applications/axwin4_src/Server/CClient.cpp b/Usermode/Applications/axwin4_src/Server/CClient.cpp index 92898b11..2abcb9b5 100644 --- a/Usermode/Applications/axwin4_src/Server/CClient.cpp +++ b/Usermode/Applications/axwin4_src/Server/CClient.cpp @@ -8,11 +8,13 @@ #include #include #include +#include // for the fonts namespace AxWin { CClient::CClient(::AxWin::IIPCChannel& channel): - m_channel(channel) + m_channel(channel), + m_id(0) { } @@ -24,7 +26,6 @@ CClient::~CClient() CWindow* CClient::GetWindow(int ID) { - _SysDebug("GetWindow(ID=%i)", ID); try { return m_windows.at(ID); } @@ -35,11 +36,24 @@ CWindow* CClient::GetWindow(int ID) void CClient::SetWindow(int ID, CWindow* window) { - _SysDebug("SetWindow(ID=%i,window=%p)", ID, window); - if( m_windows[ID] ) { - delete m_windows[ID]; + //_SysDebug("SetWindow(ID=%i,window=%p)", ID, window); + auto it = m_windows.find(ID); + if( it != m_windows.end() ) { + _SysDebug("CLIENT BUG: Window ID %i is already used by %p", ID, it->second); } - m_windows[ID] = window; + else { + m_windows[ID] = window; + } +} + +IFontFace& CClient::GetFont(unsigned int id) +{ + static CFontFallback fallback_font; + if( id == 0 ) { + _SysDebug("GetFont: %i = %p", id, &fallback_font); + return fallback_font; + } + assert(!"TODO: CClient::GetFont id != 0"); } void CClient::HandleMessage(CDeserialiser& message)