fixed: synergys crashes on exit.

This commit is contained in:
Nick Bolton 2013-10-16 15:38:36 +00:00
parent 2520bf4773
commit 64c7a01ebb
2 changed files with 11 additions and 2 deletions

View File

@ -163,7 +163,7 @@ CMSWindowsScreen::CMSWindowsScreen(
closeHookLibrary(m_hookLibrary); closeHookLibrary(m_hookLibrary);
if (m_shellLibrary != NULL) if (m_shellLibrary != NULL)
closeHookLibrary(m_shellLibrary); closeShellLibrary(m_shellLibrary);
s_screen = NULL; s_screen = NULL;
throw; throw;
@ -195,7 +195,7 @@ CMSWindowsScreen::~CMSWindowsScreen()
closeHookLibrary(m_hookLibrary); closeHookLibrary(m_hookLibrary);
if (m_shellLibrary != NULL) if (m_shellLibrary != NULL)
closeHookLibrary(m_shellLibrary); closeShellLibrary(m_shellLibrary);
s_screen = NULL; s_screen = NULL;
} }
@ -825,6 +825,14 @@ CMSWindowsScreen::closeHookLibrary(HINSTANCE hookLibrary) const
} }
} }
void
CMSWindowsScreen::closeShellLibrary(HINSTANCE shellLibrary) const
{
if (shellLibrary != NULL) {
FreeLibrary(shellLibrary);
}
}
HCURSOR HCURSOR
CMSWindowsScreen::createBlankCursor() const CMSWindowsScreen::createBlankCursor() const
{ {

View File

@ -131,6 +131,7 @@ private:
HINSTANCE openHookLibrary(const char* name); HINSTANCE openHookLibrary(const char* name);
HINSTANCE openShellLibrary(const char* name); HINSTANCE openShellLibrary(const char* name);
void closeHookLibrary(HINSTANCE hookLibrary) const; void closeHookLibrary(HINSTANCE hookLibrary) const;
void closeShellLibrary(HINSTANCE shellLibrary) const;
HCURSOR createBlankCursor() const; HCURSOR createBlankCursor() const;
void destroyCursor(HCURSOR cursor) const; void destroyCursor(HCURSOR cursor) const;
ATOM createWindowClass() const; ATOM createWindowClass() const;