Tk Source Code

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

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

  1. icomment:
    Hi,
    using mac_style branch I had to use a lot the following syntax:
    after 1 [list doWhateverYouWant]
    
    for stuff to be smooth.
    
    also I had to add a delay mechanism for creation/destroy of topLevels 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 it helps.
    ++
    
  2. login: "nab"
  3. mimetype: "text/plain"