TclApps Library Source Code
Check-in [5a7bdd65b6]
Not logged in

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

Overview
Comment:Catch images that do not provide -format in the DoAnim function. PNG images do not provide the -format config option and break the loop that initializes the animation timers for animated GIFs. Catch and ignore such images.
Downloads: Tarball | ZIP archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1: 5a7bdd65b6cb0920ae347bc52795eb7c8090952c
User & Date: patthoyts 2016-09-27 22:13:19.845
Context
2018-12-15
23:16
Added Russian message catalog to TkChat check-in: 6b67d5411b user: stevel tags: trunk
2016-09-27
22:13
Catch images that do not provide -format in the DoAnim function. PNG images do not provide the -format config option and break the loop that initializes the animation timers for animated GIFs. Catch and ignore such images. check-in: 5a7bdd65b6 user: patthoyts tags: trunk
2012-07-10
17:18
* choosefont/choose_w32.tcl: Fixed non-static string array used in call of Tcl_GetIndexFromObj(). Memory smash waiting to happen. Thanks to Brian Griffin for alerting us all to the problem. check-in: 2d059e0ca3 user: andreas_kupries tags: trunk
Changes
Unified Diff Ignore Whitespace Patch
Changes to apps/tkchat/tkchat.tcl.
5775
5776
5777
5778
5779
5780
5781
5782




5783
5784
5785
5786
5787

5788
5789
5790
5791
5792
5793
5794
    if {$opt eq "-size"} {
        font configure FIXED -size $val
    }
}

proc ::tkchat::DoAnim {} {
    if {$::Options(AnimEmoticons)} {
	foreach img [image names] {




	    if {![string match "GIF*" [$img cget -format]]} continue
	    set name [lindex [split $img :] end]
	    catch {after cancel $::tkchat::img::id($name)}
	    anim $img
	}

    } else {
	foreach {nm id} [array get ::tkchat::img::id] {
	    after cancel $id
	    $nm configure -format "GIF -index 0"
	}
    }
}







|
>
>
>
>
|
|
|
|
|
>







5775
5776
5777
5778
5779
5780
5781
5782
5783
5784
5785
5786
5787
5788
5789
5790
5791
5792
5793
5794
5795
5796
5797
5798
5799
    if {$opt eq "-size"} {
        font configure FIXED -size $val
    }
}

proc ::tkchat::DoAnim {} {
    if {$::Options(AnimEmoticons)} {
        foreach img [image names] {
            if {[catch {set fmt [$img cget -format]}]} {
                # PNG images don't have -format
                continue
            }
            if {[string match "GIF*" $fmt]} {
                set name [lindex [split $img :] end]
                catch {after cancel $::tkchat::img::id($name)}
                anim $img
            }
        }
    } else {
	foreach {nm id} [array get ::tkchat::img::id] {
	    after cancel $id
	    $nm configure -format "GIF -index 0"
	}
    }
}