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

Fixing issue where window resize cursor would keep getting overriden

BearishSun 9 лет назад
Родитель
Сommit
5f72fbed75
1 измененных файлов с 7 добавлено и 1 удалено
  1. 7 1
      Source/BansheeCore/Source/Win32/BsWin32Platform.cpp

+ 7 - 1
Source/BansheeCore/Source/Win32/BsWin32Platform.cpp

@@ -86,6 +86,9 @@ namespace BansheeEngine
 
 
 	void Platform::hideCursor()
 	void Platform::hideCursor()
 	{
 	{
+		if (mData->mIsCursorHidden)
+			return;
+
 		mData->mIsCursorHidden = true;
 		mData->mIsCursorHidden = true;
 
 
 		// ShowCursor(FALSE) doesn't work. Presumably because we're in the wrong thread, and using
 		// ShowCursor(FALSE) doesn't work. Presumably because we're in the wrong thread, and using
@@ -100,6 +103,9 @@ namespace BansheeEngine
 
 
 	void Platform::showCursor()
 	void Platform::showCursor()
 	{
 	{
+		if (!mData->mIsCursorHidden)
+			return;
+
 		mData->mIsCursorHidden = false;
 		mData->mIsCursorHidden = false;
 
 
 		// ShowCursor(FALSE) doesn't work. Presumably because we're in the wrong thread, and using
 		// ShowCursor(FALSE) doesn't work. Presumably because we're in the wrong thread, and using
@@ -625,7 +631,7 @@ namespace BansheeEngine
 				Vector<NonClientResizeArea>& resizeAreasPerWindow = iterFind->second.resizeAreas;
 				Vector<NonClientResizeArea>& resizeAreasPerWindow = iterFind->second.resizeAreas;
 				for(auto area : resizeAreasPerWindow)
 				for(auto area : resizeAreasPerWindow)
 				{
 				{
-					if(area.area.contains(mousePosInt))
+					if (area.area.contains(mousePosInt))
 						return translateNonClientAreaType(area.type);
 						return translateNonClientAreaType(area.type);
 				}
 				}