+++ Sergei Golovan [2014-01-21 20:01 +0400]:
> Hi!
> 
> On Tue, Jan 21, 2014 at 6:48 PM, Wookey <[email protected]> wrote:
> > +++ Wookey [2013-12-27 01:37 +0000]:
> >> +++ cawa sorix [2013-12-25 17:25 +0100]:
> >
> >> Aha - it hapens on jessie and sid, but not wheezy. OK. I can reproduce 
> >> now. Cheers Cawa.
> 
> There was a similar bugreport for Wavesurfer:
> http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=719109
> 
> Turns out that the change is in Tk and it's deliberate. Try to add
> [catch] command to the offending line. At least if a tag doesn't match
> any items it doesn't matter whether you do something with it or not.

OK. I can confirm that using libtk-img 1.4 and downgrading tk8.5
8.5.14-2 to 8.5.11-2 makes it work as expected. So this indeed almost
certainly the same bug.

I tried this patch to put in the 'catch', which had already been
suggested and tried in:
http://mailman.speleo.sk/pipermail/therion/2013-July/004902.html and I
already tried it myself to check.

It didn't fix the problem, but I think I must have suffered from a) not
fixing all 3 instances of this in the code and/or b) running the
instaled version of xtherion, not the modified one, and/or c) modifiying
the tcl me_imgs.tcl source but not rebuilding the xtherion app. Whatever it was 
it
seemed not to be fixing the problem, and presumably Andrew made a
similar mistake in the above mail thread.

But in fact I have just made sure I got all of those right and this fix
does indeed work. Grrr.

Thank you Sergei for getting me back on the right track. Pity the
previous mistakes kept me off it, otherwise this would have got fixed a
lot sooner.

Now I can finally upload a working version, and upstream can take this
patch for 5.3.13.

BTW can someone explain to me why giving an invalid tag 'command' here
and then ignoring the error this generates is the right way to do
things? Wouldn't it be better not to give an invalid tag?

Index: therion-5.3.12/xtherion/me_imgs.tcl
===================================================================
--- therion-5.3.12.orig/xtherion/me_imgs.tcl    2011-06-08 16:06:08.000000000 
+0100
+++ therion-5.3.12/xtherion/me_imgs.tcl 2014-01-21 17:21:55.568707794 +0000
@@ -537,7 +537,7 @@
   }
 
   # and change coordinates
-  $xth(me,can) lower $xth(me,imgs,$imgx,image) command
+  catch {$xth(me,can) lower $xth(me,imgs,$imgx,image) command}
   set iidx [lsearch -exact $xth(me,imgs,xlist) $imgx]
   if {$iidx > 0} {
     $xth(me,can) lower $xth(me,imgs,$imgx,image) $xth(me,imgs,[lindex 
$xth(me,imgs,xlist) [expr $iidx - 1]],image)
@@ -805,7 +805,7 @@
       set iw [image width $imgid]
       set ih [image height $imgid]
       lappend xth(me,imgs,$imgx,subimgs) [list $subimg $subcimg 0 0 $iw $ih]
-      $xth(me,can) lower $xth(me,imgs,$imgx,image) command
+      catch {$xth(me,can) lower $xth(me,imgs,$imgx,image) command}
       if {$iidx > 0} {
         $xth(me,can) lower $xth(me,imgs,$imgx,image) $xth(me,imgs,[lindex 
$xth(me,imgs,xlist) [expr $iidx - 1]],image)
       }
@@ -831,7 +831,7 @@
           lappend xth(me,imgs,$imgx,subimgs) [list $subimg $subcimg $subx 
$suby $subxx $subyy]
         }
       }
-      $xth(me,can) lower $xth(me,imgs,$imgx,image) command
+      catch {$xth(me,can) lower $xth(me,imgs,$imgx,image) command}
       set iidx [lsearch -exact $xth(me,imgs,xlist) $imgx]
       if {$iidx > 0} {
         $xth(me,can) lower $xth(me,imgs,$imgx,image) $xth(me,imgs,[lindex 
$xth(me,imgs,xlist) [expr $iidx - 1]],image)

Wookey
-- 
Principal hats:  Linaro, Emdebian, Wookware, Balloonboard, ARM
http://wookware.org/


-- 
To UNSUBSCRIBE, email to [email protected]
with a subject of "unsubscribe". Trouble? Contact [email protected]

Reply via email to