[Therion] Bug#718294: Background images and insert images not working

Wookey wookey at wookware.org
Tue Jan 21 18:37:07 CET 2014


+++ Sergei Golovan [2014-01-21 20:01 +0400]:
> Hi!
> 
> On Tue, Jan 21, 2014 at 6:48 PM, Wookey <wookey at wookware.org> 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/004447.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/



More information about the Therion mailing list