[GRASS5] NVIZ Compiling Error

Otto Dassau otto.dassau at gmx.de
Tue Oct 15 09:41:23 EDT 2002


Jeshua Lacock schrieb:
> 
> On Friday, October 11, 2002, at 11:42 AM, Glynn Clements wrote:
> 
> >> Otto Dassau wrote:
> >>    invalid command name "tkCancelRepeat"
> >>    invalid command name "tkCancelRepeat"
> >>         while executing
> >>    "tkCancelRepeat"
> >>         (command bound to event)?
> >
> > tkCancelRepeat is a built-in command in Tcl/Tk 8.0 (and presumably up
> > to 8.3, as no-one else has reported this).
> >
> >       if {[string length [info commands tkCancelRepeat]]} {} {
> >       proc tkCancelRepeat {} {}
> >       }

> I have created a patch which fixes the problem. The screen is now
> automatically redrawn.
> 
>    #Bind For Re-Draw Surface
>        bind $S.scale <Any-ButtonRelease> {+
> + if {![llength [info commands tkCancelRepeat]]} {
> +      tk::unsupported::ExposePrivateCommand tkCancelRepeat
> + }
>    tkCancelRepeat
> + if {![llength [info commands tkScaleEndDrag]]} {
> +      tk::unsupported::ExposePrivateCommand tkScaleEndDrag
> + }
>    tkScaleEndDrag %W
> + if {![llength [info commands tkScaleActivate]]} {
> +      tk::unsupported::ExposePrivateCommand tkScaleActivate
> + }
>    tkScaleActivate %W %x %y
>    if {[Nauto_draw] == 1} {Ndraw_all} }

thanks a lot for your help. 

finally a mixture of your ideas seem to be 
a solution. The automatic Re-Draw unfortunately does not work 
- NVIZ compiles, but does not start.

adding this to the top of src.contrib/GMSL/NVIZ2.2/scripts/widgets.tcl
makes NVIZ work fine again!:

#######
if {![llength [info commands tkCancelRepeat]]} {
tk::unsupported::ExposePrivateCommand tkCancelRepeat
}
if {![llength [info commands tkScaleEndDrag]]} {
tk::unsupported::ExposePrivateCommand tkScaleEndDrag
}
if {![llength [info commands tkScaleActivate]]} {
tk::unsupported::ExposePrivateCommand tkScaleActivate
}
########

thanks again for your help. 
 
  Otto 


PS: If you have any solution for the automatic Re-Draw 
 error -> I could test your ideas -> errors are:

....
Error in startup script: can't read "S": no such variable
    while executing
"bind $S.scale <Any-ButtonRelease> {
 if {![llength [info commands tkCancelRepeat]]} {
      tk::unsupported::ExposePrivateCommand tkCancelRepeat
 }
 i..."
    (file "/usr/local/grass5/etc/nviz2.2/scripts/widgets.tcl" line 11)
    invoked from within
"source /usr/local/grass5/etc/nviz2.2/scripts/widgets.tcl"
    ("uplevel" body line 1)
    invoked from within
"uplevel #0 $auto_index($name)"
    (procedure "auto_load" line 13)
    invoked from within
"auto_load $name [uplevel 1 {::namespace current}]"
    (autoloading "Nv_mkMenu")
    invoked from within
"Nv_mkMenu $Nv_(AREA).menu.file File  {"Load State..." "Save State..."
"Load 3d Settings..."  "Save 3d Settings..." "Image Dump..." "Reset"
"Quit" }  {..."
    (procedure "Nv_makeGUI" line 59)
    invoked from within
"Nv_makeGUI .top"
    (file "/usr/local/grass5/etc/nviz2.2/scripts/nviz2.2_script" line
660)
child process exited abnormally
    while executing
"exec /usr/local/grass5/etc/nviz2.2/NVWISH2.2 -f
/usr/local/grass5/etc/nviz2.2/scripts/nviz2.2_script -q -name NVIZ
>&@stdout"
    ("eval" body line 1)
    invoked from within
"eval exec $env(GISBASE)/etc/nviz2.2/NVWISH2.2 -f
$env(GISBASE)/etc/nviz2.2/scripts/nviz2.2_script $argv -name NVIZ
>&@stdout"
    invoked from within
"if {$argv == ""} {
#no arguments
eval exec $env(GISBASE)/etc/nviz2.2/NVWISH2.2 -f
$env(GISBASE)/etc/nviz2.2/scripts/nviz2.2_script -name NVIZ >&@stdo..."
    (file "/usr/local/grass5/bin/nviz" line 16)




More information about the grass-dev mailing list