Index: /OpenSceneGraph/branches/OpenSceneGraph-2.8/src/osgViewer/GraphicsWindowWin32.cpp
===================================================================
--- /OpenSceneGraph/branches/OpenSceneGraph-2.8/src/osgViewer/GraphicsWindowWin32.cpp (revision 9727)
+++ /OpenSceneGraph/branches/OpenSceneGraph-2.8/src/osgViewer/GraphicsWindowWin32.cpp (revision 9825)
@@ -1936,23 +1936,26 @@
 void GraphicsWindowWin32::setCursor( MouseCursor mouseCursor )
 {
-    if (mouseCursor != LeftRightCursor && 
-        mouseCursor != UpDownCursor && 
-        mouseCursor != TopLeftCorner && 
-        mouseCursor != TopRightCorner && 
-        mouseCursor != BottomLeftCorner && 
-        mouseCursor != BottomRightCorner)
-    {
-        _appMouseCursor = mouseCursor;
-    }
-
-    _mouseCursor = mouseCursor;
-    HCURSOR newCursor = getOrCreateCursor( mouseCursor);
-    if (newCursor == _currentCursor) return;
-
-    _currentCursor = newCursor;
-    _traits->useCursor = (_currentCursor != NULL);
-
-    if (_mouseCursor != InheritCursor)
-        ::SetCursor(_currentCursor);
+    if (_mouseCursor != mouseCursor)
+    {
+        if (mouseCursor != LeftRightCursor && 
+            mouseCursor != UpDownCursor && 
+            mouseCursor != TopLeftCorner && 
+            mouseCursor != TopRightCorner && 
+            mouseCursor != BottomLeftCorner && 
+            mouseCursor != BottomRightCorner)
+        {
+            _appMouseCursor = mouseCursor;
+        }
+
+        _mouseCursor = mouseCursor;
+        HCURSOR newCursor = getOrCreateCursor( mouseCursor);
+        if (newCursor == _currentCursor) return;
+
+        _currentCursor = newCursor;
+        _traits->useCursor = (_currentCursor != NULL);
+
+        if (_mouseCursor != InheritCursor)
+            ::SetCursor(_currentCursor);
+    }
 }
 
