From d1df00c5f7717e4b0c13142df22cdf9a7024d51e Mon Sep 17 00:00:00 2001
From: John Melton G0ORX <john.d.melton@googlemail.com>
Date: Fri, 8 Nov 2019 16:39:09 +0000
Subject: [PATCH] Fixed an induced bug with mouse dragging frequencies

---
 vfo.c | 16 ++++++++--------
 1 file changed, 8 insertions(+), 8 deletions(-)

diff --git a/vfo.c b/vfo.c
index 7b4180c..d5259fb 100644
--- a/vfo.c
+++ b/vfo.c
@@ -591,12 +591,12 @@ g_print("vfo_move: id=%d hz=%lld\n",id,hz);
     if(vfo[id].ctun) {
       vfo[id].ctun_frequency=vfo[id].ctun_frequency+hz;
       if(round) {
-         vfo[id].ctun_frequency=(vfo[id].ctun_frequency/step)*step;
+         vfo[id].ctun_frequency=((vfo[id].ctun_frequency+(step/2))/step)*step;
       }
     } else {
       vfo[id].frequency=vfo[id].frequency-hz;
       if(round) {
-         vfo[id].frequency=(vfo[id].frequency/step)*step;
+         vfo[id].frequency=((vfo[id].frequency-(step/2))/step)*step;
       }
     }
     int sid=id==0?1:0;
@@ -608,26 +608,26 @@ g_print("vfo_move: id=%d hz=%lld\n",id,hz);
         if(vfo[sid].ctun) {
           vfo[sid].ctun_frequency=vfo[sid].ctun_frequency+hz;
           if(round) {
-             vfo[sid].ctun_frequency=(vfo[sid].ctun_frequency/step)*step;
+             vfo[sid].ctun_frequency=((vfo[sid].ctun_frequency+(step/2))/step)*step;
           }
         } else {
           vfo[sid].frequency=vfo[sid].frequency-hz;
           if(round) {
-             vfo[sid].frequency=(vfo[sid].frequency/step)*step;
+             vfo[sid].frequency=((vfo[sid].frequency-(step/2))/step)*step;
           }
         }
         break;
       case RSAT_MODE:
         // A increments and B decrements or A decrments and B increments
         if(vfo[sid].ctun) {
-          vfo[sid].ctun_frequency=((vfo[sid].ctun_frequency-hz)/step)*step;
+          vfo[sid].ctun_frequency=vfo[sid].ctun_frequency-hz;
           if(round) {
-             vfo[sid].ctun_frequency=(vfo[sid].ctun_frequency/step)*step;
+             vfo[sid].ctun_frequency=((vfo[sid].ctun_frequency-(step/2))/step)*step;
           }
         } else {
-          vfo[sid].frequency=((vfo[sid].frequency+hz)/step)*step;
+          vfo[sid].frequency=vfo[sid].frequency+hz;
           if(round) {
-             vfo[sid].ctun_frequency=(vfo[sid].ctun_frequency/step)*step;
+             vfo[sid].ctun_frequency=((vfo[sid].ctun_frequency+(step/2))/step)*step;
           }
         }
         break;
-- 
2.45.2