Version in base suite: 2.9.0~pre1+git20230208.f1270d6ed7-1 Base version: linuxcnc_2.9.0~pre1+git20230208.f1270d6ed7-1 Target version: linuxcnc_2.9.0~pre1+git20230208.f1270d6ed7-1+deb12u1 Base file: /srv/ftp-master.debian.org/ftp/pool/main/l/linuxcnc/linuxcnc_2.9.0~pre1+git20230208.f1270d6ed7-1.dsc Target file: /srv/ftp-master.debian.org/policy/pool/main/l/linuxcnc/linuxcnc_2.9.0~pre1+git20230208.f1270d6ed7-1+deb12u1.dsc changelog | 11 ++++ gbp.conf | 3 + patches/0020-mdi-fix-unwanted-movement.patch | 71 +++++++++++++++++++++++++++ patches/series | 1 4 files changed, 86 insertions(+) diff: /srv/release.debian.org/tmp/n7FCMRHOjz/linuxcnc-2.9.0~pre1+git20230208.f1270d6ed7/configs/sim/axis/orphans/iocontrol-removed/nc_subroutines: No such file or directory diff: /srv/release.debian.org/tmp/LgaSWLZqoO/linuxcnc-2.9.0~pre1+git20230208.f1270d6ed7/configs/sim/axis/orphans/iocontrol-removed/nc_subroutines: No such file or directory diff: /srv/release.debian.org/tmp/n7FCMRHOjz/linuxcnc-2.9.0~pre1+git20230208.f1270d6ed7/configs/sim/axis/orphans/iocontrol-removed/tool.tbl: No such file or directory diff: /srv/release.debian.org/tmp/LgaSWLZqoO/linuxcnc-2.9.0~pre1+git20230208.f1270d6ed7/configs/sim/axis/orphans/iocontrol-removed/tool.tbl: No such file or directory diff: /srv/release.debian.org/tmp/n7FCMRHOjz/linuxcnc-2.9.0~pre1+git20230208.f1270d6ed7/tests/trajectory-planner/circular-arcs/configs/axis_manualtoolchange.hal: No such file or directory diff: /srv/release.debian.org/tmp/LgaSWLZqoO/linuxcnc-2.9.0~pre1+git20230208.f1270d6ed7/tests/trajectory-planner/circular-arcs/configs/axis_manualtoolchange.hal: No such file or directory diff: /srv/release.debian.org/tmp/n7FCMRHOjz/linuxcnc-2.9.0~pre1+git20230208.f1270d6ed7/tests/trajectory-planner/circular-arcs/configs/core_sim9.hal: No such file or directory diff: /srv/release.debian.org/tmp/LgaSWLZqoO/linuxcnc-2.9.0~pre1+git20230208.f1270d6ed7/tests/trajectory-planner/circular-arcs/configs/core_sim9.hal: No such file or directory diff -Nru linuxcnc-2.9.0~pre1+git20230208.f1270d6ed7/debian/changelog linuxcnc-2.9.0~pre1+git20230208.f1270d6ed7/debian/changelog --- linuxcnc-2.9.0~pre1+git20230208.f1270d6ed7/debian/changelog 2023-02-10 04:33:18.000000000 +0000 +++ linuxcnc-2.9.0~pre1+git20230208.f1270d6ed7/debian/changelog 2025-01-25 21:43:48.000000000 +0000 @@ -1,3 +1,14 @@ +linuxcnc (2.9.0~pre1+git20230208.f1270d6ed7-1+deb12u1) bookworm; urgency=medium + + [ CMorley ] + * qtvcp -mdi_line: fix multi axes movement on single axis G0 MDI call + (Closes: #1053251). + + [ Petter Reinholdtsen ] + * Added d/gbp.conf documenting branches used. + + -- Petter Reinholdtsen Sat, 25 Jan 2025 22:43:48 +0100 + linuxcnc (2.9.0~pre1+git20230208.f1270d6ed7-1) unstable; urgency=medium * New upstream version 2.9.0~pre1+git20230208.f1270d6ed7 (Closes: #1023651). diff -Nru linuxcnc-2.9.0~pre1+git20230208.f1270d6ed7/debian/gbp.conf linuxcnc-2.9.0~pre1+git20230208.f1270d6ed7/debian/gbp.conf --- linuxcnc-2.9.0~pre1+git20230208.f1270d6ed7/debian/gbp.conf 1970-01-01 00:00:00.000000000 +0000 +++ linuxcnc-2.9.0~pre1+git20230208.f1270d6ed7/debian/gbp.conf 2025-01-25 19:13:08.000000000 +0000 @@ -0,0 +1,3 @@ +[DEFAULT] +debian-branch = debian/bookworm +upstream-branch = upstream diff -Nru linuxcnc-2.9.0~pre1+git20230208.f1270d6ed7/debian/patches/0020-mdi-fix-unwanted-movement.patch linuxcnc-2.9.0~pre1+git20230208.f1270d6ed7/debian/patches/0020-mdi-fix-unwanted-movement.patch --- linuxcnc-2.9.0~pre1+git20230208.f1270d6ed7/debian/patches/0020-mdi-fix-unwanted-movement.patch 1970-01-01 00:00:00.000000000 +0000 +++ linuxcnc-2.9.0~pre1+git20230208.f1270d6ed7/debian/patches/0020-mdi-fix-unwanted-movement.patch 2025-01-25 21:40:35.000000000 +0000 @@ -0,0 +1,71 @@ +commit d942d79ef97e0a476a8e57a37108e7fefb1464b5 +Author: CMorley +Date: Tue Feb 28 21:17:59 2023 -0800 + + qtvcp -mdi_line: fix multi axes movement on single axis G0 MDI call + + https://forum.linuxcnc.org/qtvcp/48337-qtdragon-mdi-jogging-strange-diagonals + reloading the display was actually done before the MDI command was run. + This would cause the old axis position to be updated to linucnc's state. + + if you call MDI commandsL + G0 X 10 + G0 Y 10 + G0 x 20 + + On the third MDI command both X and Y would move. + + Nonw will added a callnack to reload the display after the MDI command + + Closes: #1053251 + +diff --git a/lib/python/qtvcp/widgets/mdi_line.py b/lib/python/qtvcp/widgets/mdi_line.py +index c6aa865..0c68764 100644 +--- a/lib/python/qtvcp/widgets/mdi_line.py ++++ b/lib/python/qtvcp/widgets/mdi_line.py +@@ -66,6 +66,8 @@ class MDI(QLineEdit): + except: + self.mdiLast = None + pass ++ # return callback GObject id ++ self._return_id = None + + def submit(self): + self.mdiError = False +@@ -115,8 +117,20 @@ class MDI(QLineEdit): + elif self.spindleInhibit and self.inhibit_spindle_commands(text): + return + else: ++ ++ # make sure we didn't miss an display update callback. ++ # shouldn't be an update pending before the coming mdi command call ++ if self._return_id is not None: ++ STATUS.handler_disconnect(self._return_id) ++ + ACTION.CALL_MDI(text+'\n') +- ACTION.RELOAD_DISPLAY() ++ ++ # reloading the display causes a task_plan_synch() ++ # set up a callback so the display is updated only after the command is run. ++ # other wise the next MDI command could have stale linuxcnc state, causing ++ # multiple axes to move when ony issuing one axis to move. ++ self._return_id = STATUS.connect('command-stopped', lambda w: self.update_display()) ++ + t = time.time() + 0.1 + while time.time() < t: + QApplication.processEvents() +@@ -132,6 +146,14 @@ class MDI(QLineEdit): + self.mdiLast = text.lower() + STATUS.emit('mdi-history-changed') + ++ # only reload after the command is run ++ # remove the callback handler so this is only run once ++ # per MDI command 9nect MDI command will issue another callback) ++ def update_display(self): ++ ACTION.RELOAD_DISPLAY() ++ STATUS.handler_disconnect(self._return_id) ++ self._return_id = None ++ + # Gcode widget can emit a signal to this + def external_line_selected(self, w, text, filename): + LOG.debug('Ext line selected: {}, {}'.format(text, filename)) diff -Nru linuxcnc-2.9.0~pre1+git20230208.f1270d6ed7/debian/patches/series linuxcnc-2.9.0~pre1+git20230208.f1270d6ed7/debian/patches/series --- linuxcnc-2.9.0~pre1+git20230208.f1270d6ed7/debian/patches/series 2023-02-10 02:10:39.000000000 +0000 +++ linuxcnc-2.9.0~pre1+git20230208.f1270d6ed7/debian/patches/series 2025-01-25 21:41:09.000000000 +0000 @@ -1 +1,2 @@ #0010-arm-hppa.patch +0020-mdi-fix-unwanted-movement.patch