m_leftCanvas = new MyCanvas(m_splitter, CANVAS1, 0, 0, 400, 400);
   m_leftCanvas->SetBackgroundColour(*wxRED);
   m_leftCanvas->SetScrollbars(20, 20, 50, 50);
+  m_leftCanvas->SetCursor(wxCursor(wxCURSOR_MAGNIFIER));
 
   m_rightCanvas = new MyCanvas(m_splitter, CANVAS2, 0, 0, 400, 400);
   m_rightCanvas->SetBackgroundColour(*wxCYAN);
 
 // Created:     01/02/97
 // RCS-ID:      $Id$
 // Copyright:   (c) Julian Smart and Markus Holzem
-// Licence:       wxWindows license
+// Licence:     wxWindows license
 /////////////////////////////////////////////////////////////////////////////
 
 #ifdef __GNUG__
-#pragma implementation "splitter.h"
-// #pragma interface
+    #pragma implementation "splitter.h"
 #endif
 
 // For compilers that support precompilation, includes "wx.h".
 #include "wx/wxprec.h"
 
 #ifdef __BORLANDC__
-#pragma hdrstop
+    #pragma hdrstop
 #endif
 
 #ifndef WX_PRECOMP
-#include "wx/wx.h"
+    #include "wx/wx.h"
 #endif
 
 #include <math.h>
     long x, y;
     event.Position(&x, &y);
 
+    // reset the cursor
+    SetCursor(wxCursor());
+
     if (event.LeftDown())
     {
         if ( SashHitTest(x, y) )
             CaptureMouse();
 
             m_dragMode = wxSPLIT_DRAG_DRAGGING;
-           
+
             DrawSashTracker(x, y);
             m_oldX = x;
             m_oldY = y;
-           return;
+            return;
         }
     }
     else if (event.LeftUp() && m_dragMode == wxSPLIT_DRAG_DRAGGING)
                     SetCursor(*m_sashCursorNS);
                 }
         }
-        else
-        {
-            SetCursor(*wxSTANDARD_CURSOR);
-        }
     }
     else if (event.Dragging() && (m_dragMode == wxSPLIT_DRAG_DRAGGING)) 
     {
 
 
                     hcursor = gs_wxBusyCursor;
                 }
-                else if ( m_windowCursor.Ok() )
-                {
-                    hcursor = (HCURSOR)m_windowCursor.GetHCURSOR();
-                }
                 else
                 {
-                    extern wxCursor *g_globalCursor; // from msw\data.cpp
+                    wxCursor *cursor = NULL;
+
+                    if ( m_windowCursor.Ok() )
+                    {
+                        cursor = &m_windowCursor;
+                    }
+                    else
+                    {
+                        extern wxCursor *g_globalCursor; // from msw\data.cpp
+
+                        if ( g_globalCursor && g_globalCursor->Ok() )
+                            cursor = g_globalCursor;
+                    }
 
-                    if ( g_globalCursor && g_globalCursor->Ok() )
-                        hcursor = (HCURSOR)g_globalCursor->GetHCURSOR();
+                    if ( cursor )
+                        hcursor = (HCURSOR)cursor->GetHCURSOR();
                 }
 
                 if ( hcursor )
                     ::SetCursor(hcursor);
 
                     // returning TRUE stops the DefWindowProc() from further
-                    // processing this message - exactly what we need because
-                    // we've just set the cursor
+                    // processing this message - exactly what we need because we've
+                    // just set the cursor.
                     return TRUE;
                 }
             }