Просмотр исходного кода

does't try to register or unregister a hot key if m_Key is 0

git-svn-id: svn://svn.code.sf.net/p/ditto-cp/code/trunk@25 595ec19a-5cb4-439b-94a8-42fb3063c22c
sabrogden 22 лет назад
Родитель
Сommit
ae6d0eb989
1 измененных файлов с 17 добавлено и 6 удалено
  1. 17 6
      Misc.cpp

+ 17 - 6
Misc.cpp

@@ -970,6 +970,9 @@ bool CHotKey::Register()
 											GetModifier(),
 											LOBYTE(m_Key) ) == TRUE;
 	}
+	else
+		m_bIsRegistered = true;
+
 	return m_bIsRegistered;
 }
 bool CHotKey::Unregister()
@@ -977,17 +980,25 @@ bool CHotKey::Unregister()
 	if( !m_bIsRegistered )
 		return true;
 
-	ASSERT(g_HotKeys.m_hWnd);
-	if( ::UnregisterHotKey( g_HotKeys.m_hWnd, m_Atom ) )
+	if(m_Key)
 	{
-		m_bIsRegistered = false;
-		return true;
+		ASSERT(g_HotKeys.m_hWnd);
+		if( ::UnregisterHotKey( g_HotKeys.m_hWnd, m_Atom ) )
+		{
+			m_bIsRegistered = false;
+			return true;
+		}
+		else
+		{
+			LOG(FUNC "FAILED!");
+			ASSERT(0);
+		}
 	}
 	else
 	{
-		LOG(FUNC "FAILED!");
-		ASSERT(0);
+		m_bIsRegistered = false;
 	}
+
 	return false;
 }