Tk Source Code

Ticket Change Details
Login
Bounty program for improvements to Tcl and certain Tcl packages.
Overview

Artifact ID: 50d6fe3fa977262ae181f9216c08929bac23d5abecd4f0a35065deb2efec9cd1
Ticket: 48f5da841df2a45749880bdafb276521e67e825b
mac_styles branch crash when spinbox does not have enough room
User & Date: nab 2020-01-13 08:05:52
Changes

  1. icomment:
    @Takamoto,
    Hi,
    while using mac_styles branch I had to write:
    after 1 [list doDesiredEval args]
    a lot in order for stuff to be smooth and not crashing.
    
    also for toplevel creation/destroy I had to use a delay mechanism for not my app to crash.
    something like that:
    
    proc nsWin_sleep {ms namespace} {
        namespace upvar $namespace nsWin_sleepV localnsWin_sleepV
    
        after $ms {set localnsWin_sleepV 1}
        vwait localnsWin_sleepV
    
    }
    proc win_modifyDelay {} {
        nsWin_sleep 100 Dlightmain
    }
    
    proc win_deiconifySequence {win} {
        if {[tk windowingsystem] eq {aqua} && $::tcl_platform(osVersion) >= 18} {
            update idletasks
            ::tk::unsupported::MacWindowStyle appearance $win darkaqua
        }
        
        wm deiconify $win
        if {[tk windowingsystem] eq {aqua}} {
          win_modifyDelay
        }
    
    }
    
    proc win_deleteSequence {delay win} {
        destroy $win
        if {[tk windowingsystem] eq {aqua}} {
            nsWin_sleep $delay Dlightmain
            update idletasks
        }
    }
     
    
    hope this helps.
    ++
    
  2. login: "nab"
  3. mimetype: "text/plain"