TaoLib

Check-in [e6f4b39754]
Login

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview
Comment:Pulling in fix for Tcl/Tk 8.6.9
Timelines: family | ancestors | descendants | both | fsar-8-6-9
Files: files | file ages | folders
SHA1:e6f4b39754d57eb163214670a949ddc27146dd20
User & Date: hypnotoad 2019-01-08 00:28:53
Context
2019-01-08
00:35
Pulling fix from fsar check-in: c831ca1a54 user: hypnotoad tags: trunk
00:28
Pulling in fix for Tcl/Tk 8.6.9 Leaf check-in: e6f4b39754 user: hypnotoad tags: fsar-8-6-9
2018-12-11
23:01
New build of tool Leaf check-in: 300e317280 user: hypnotoad tags: fsar
Changes
Hide Diffs Side-by-Side Diffs Ignore Whitespace Patch

Changes to modules/taotk/core/baseclass.tcl.

   143    143     #    the <Destroy> we are seeing is intended for us.
   144    144     ###
   145    145     method Hull_Destroy {} {
   146    146       ###
   147    147       # Destroy our Tk representation
   148    148       ###
   149    149       my variable tkalias
          150  +    set tkWidget {}
   150    151       if {[info exists tkalias]} {
   151         -      set alias $tkalias
   152         -    } else {
   153         -      set alias {}
          152  +      set tkWidget $tkalias
   154    153       }
   155         -    if {$alias ne {}} {
   156         -      my Hull_Unbind $alias
          154  +    if {$tkWidget eq {}} {
          155  +      set tkWidget [my widget hull]
   157    156       }
   158         -    catch {my action destroy}
   159         -
   160         -    # Destroy an alias we may have created
   161         -    if { $alias ne {} && [winfo exists $alias] } {
   162         -      catch {rename [namespace current]::tkwidget {}}
   163         -    } else {
   164         -      set hull [my organ hull]
   165         -      if { $hull ne "."} {
   166         -        catch {::destroy $hull}
   167         -      }
          157  +    if {$tkWidget eq {}} {
          158  +      set tkWidget [my organ hull]
          159  +    }
          160  +    if {$tkWidget ne {}} {
          161  +      my Hull_Unbind $tkWidget
   168    162       }
   169    163   
   170    164       ###
   171    165       # Clean up children
   172    166       ###
   173    167       foreach subobj [info command [self]/*] {
   174    168         catch {$subobj destroy}
   175    169       }
   176    170       foreach subobj [info command [self].*] {
   177    171         if {[winfo exists $subobj]} continue
   178    172         catch {$subobj destroy}
   179    173       }
          174  +
          175  +    catch {my action destroy}
          176  +
          177  +    # Destroy an alias we may have created
          178  +    if { $tkWidget ni {. {}} && [winfo exists $tkWidget] } {
          179  +      ::destroy $tkWidget
          180  +    }
   180    181     }
   181    182   
   182    183     ###
   183    184     # topic: 180536da1664900f26270fd54346f984bf070e44
   184    185     # description:
   185    186     #    A private method that catches tk events and ensures
   186    187     #    the <Destroy> we are seeing is intended for us.