Mikołaj Zalewski : wineconsole: Make most keys cancel the selection.

Alexandre Julliard julliard at wine.codeweavers.com
Fri Oct 20 08:00:36 CDT 2006


Module: wine
Branch: master
Commit: bf42a3414243fbb5dd2b569f53b6809abf8133b2
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=bf42a3414243fbb5dd2b569f53b6809abf8133b2

Author: Mikołaj Zalewski <mikolaj at zalewski.pl>
Date:   Thu Oct 19 19:36:30 2006 +0200

wineconsole: Make most keys cancel the selection.

---

 programs/wineconsole/user.c |   24 +++++++++++++++---------
 1 files changed, 15 insertions(+), 9 deletions(-)

diff --git a/programs/wineconsole/user.c b/programs/wineconsole/user.c
index 0726ea6..7477ce4 100644
--- a/programs/wineconsole/user.c
+++ b/programs/wineconsole/user.c
@@ -944,31 +944,31 @@ static void WCUSER_HandleSelectionKey(st
             PRIVATE(data)->has_selection = FALSE;
             WCUSER_SetSelection(data, 0);
             WCUSER_CopySelectionToClipboard(data);
-            break;
+            return;
         case VK_RIGHT:
             c1 = PRIVATE(data)->selectPt1;
             c2 = PRIVATE(data)->selectPt2;
             c1.X++; c2.X++;
             WCUSER_MoveSelection(data, c1, c2);
-            break;
+            return;
         case VK_LEFT:
             c1 = PRIVATE(data)->selectPt1;
             c2 = PRIVATE(data)->selectPt2;
             c1.X--; c2.X--;
             WCUSER_MoveSelection(data, c1, c2);
-            break;
+            return;
         case VK_UP:
             c1 = PRIVATE(data)->selectPt1;
             c2 = PRIVATE(data)->selectPt2;
             c1.Y--; c2.Y--;
             WCUSER_MoveSelection(data, c1, c2);
-            break;
+            return;
         case VK_DOWN:
             c1 = PRIVATE(data)->selectPt1;
             c2 = PRIVATE(data)->selectPt2;
             c1.Y++; c2.Y++;
             WCUSER_MoveSelection(data, c1, c2);
-            break;
+            return;
         }
         break;
     case SHIFT_PRESSED:
@@ -979,28 +979,34 @@ static void WCUSER_HandleSelectionKey(st
             c2 = PRIVATE(data)->selectPt2;
             c2.X++;
             WCUSER_MoveSelection(data, c1, c2);
-            break;
+            return;
         case VK_LEFT:
             c1 = PRIVATE(data)->selectPt1;
             c2 = PRIVATE(data)->selectPt2;
             c2.X--;
             WCUSER_MoveSelection(data, c1, c2);
-            break;
+            return;
         case VK_UP:
             c1 = PRIVATE(data)->selectPt1;
             c2 = PRIVATE(data)->selectPt2;
             c2.Y--;
             WCUSER_MoveSelection(data, c1, c2);
-            break;
+            return;
         case VK_DOWN:
             c1 = PRIVATE(data)->selectPt1;
             c2 = PRIVATE(data)->selectPt2;
             c2.Y++;
             WCUSER_MoveSelection(data, c1, c2);
-            break;
+            return;
         }
         break;
     }
+
+    if (wParam < VK_SPACE)  /* Shift, Alt, Ctrl, Num Lock etc. */
+        return;
+    
+    WCUSER_SetSelection(data, 0);    
+    PRIVATE(data)->has_selection = FALSE;
 }
 
 /******************************************************************




More information about the wine-cvs mailing list