← All bug reports

FS#1477exception in Viewport.js: sprintf not defined

Type
Bug
Status
Closed
Resolution
Fixed
Category
QCAD (main)
Severity
Low
Priority
Low
Reported version
3.15.5
Operating system
All
Reported
2016-09-11 by kazmer
Closed
2016-09-12 by andrew

Git 21d95c48, Linux x64, Qt5

Starting QCAD causes it to crash:

QCAD version  3.15.5.4
02:17:30: Debug:    RDxfPlugin::init
02:17:30: Debug:    RExamplePlugin::init
02:17:30: Debug:    TransactionListenerPlugin::init
02:17:31: Debug:    TIMER:  187000000 ns ( 187 ms )  -  "loading add-ons"
02:17:33: Debug:    TIMER:  1492000000 ns ( 1492 ms )  -  "initializing add-ons"
02:17:35: Debug:    TransactionListenerPlugin::postInit
02:17:35: Debug:    got transaction
Warning:  RScriptHandlerEcma::eval: script engine exception:  "ReferenceError: Can't find variable: sprintf"
Warning:  "<anonymous>(widget = RMdiChildQt(0x4e90100), documentInterface = RDocumentInterface(0x4e934e0)) \
        at /home/ice/w/qcad/qcad/scripts/Widgets/Viewport/Viewport.js:52\n<anonymous>() at \
        /home/ice/w/qcad/qcad/scripts/File/OpenFile/../NewFile/NewFile.js:224\n<anonymous>() at \
        /home/ice/w/qcad/qcad/scripts/File/OpenFile/../NewFile/NewFile.js:87\n<eval>() at 1\nslotTrigger() at \
        -1\nopenFiles(args = , createNew = true) at scripts/autostart.js:204\nmain() \
        at scripts/autostart.js:743\n<global>() at scripts/autostart.js:780"
Warning:  RScriptHandlerEcma::eval: script engine exception:  "ReferenceError: Can't find variable: sprintf"
Warning:  "<anonymous>(widget = RMdiChildQt(0x4e90100), documentInterface = RDocumentInterface(0x4e934e0)) \
        at /home/ice/w/qcad/qcad/scripts/Widgets/Viewport/Viewport.js:52\n<anonymous>() \
        at /home/ice/w/qcad/qcad/scripts/File/OpenFile/../NewFile/NewFile.js:224\n<anonymous>() \
        at /home/ice/w/qcad/qcad/scripts/File/OpenFile/../NewFile/NewFile.js:87\n<eval>() at 1\nslotTrigger() \
        at -1\nopenFiles(args = , createNew = true) at scripts/autostart.js:204\nmain() \
        at scripts/autostart.js:743\n<global>() at scripts/autostart.js:780"
Warning:  At least one uncaught exception:
Warning:  "<anonymous>(widget = RMdiChildQt(0x4e90100), documentInterface = RDocumentInterface(0x4e934e0)) at \
        /home/ice/w/qcad/qcad/scripts/Widgets/Viewport/Viewport.js:52\n<anonymous>() at \
        /home/ice/w/qcad/qcad/scripts/File/OpenFile/../NewFile/NewFile.js:224\n<anonymous>() at \
        /home/ice/w/qcad/qcad/scripts/File/OpenFile/../NewFile/NewFile.js:87\n<eval>() at 1\nslotTrigger() at \
        -1\nopenFiles(args = , createNew = true) at scripts/autostart.js:204\nmain() at \
        scripts/autostart.js:743\n<global>() at scripts/autostart.js:780"
02:17:35: Debug:    "<global>() at 52"

Seems to be a fallout following a1941e2 (removal of sprintf.js from library includes).

Fix:

diff --git a/scripts/Widgets/Viewport/Viewport.js b/scripts/Widgets/Viewport/Viewport.js
index d9bc286..10b9b18 100644
--- a/scripts/Widgets/Viewport/Viewport.js
+++ b/scripts/Widgets/Viewport/Viewport.js
@@ -17,6 +17,8 @@
  * along with QCAD.
  */
 
+include("scripts/sprintf.js");
+
 if (new QFileInfo(autoPath("scripts/Navigation/DefaultNavigation/DefaultNavigation.js")).exists()) {
     include("scripts/Navigation/DefaultNavigation/DefaultNavigation.js");
 }