TclApps Library Source Code
Check-in [2d059e0ca3]
Not logged in

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

Overview
Comment: * 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.
Downloads: Tarball | ZIP archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1: 2d059e0ca3fe813806ffda38ecef80a1237cbf3f
User & Date: andreas_kupries 2012-07-10 17:18:48.000
Context
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
2012-02-07
13:10
We don't have an image for "offline", so use "disabled" for now. check-in: 95108a0b84 user: rmax tags: trunk
Changes
Unified Diff Ignore Whitespace Patch
Changes to apps/tkchat/ChangeLog.







1
2
3
4
5
6
7







2012-02-07  Reinhard Max  <[email protected]>

	* tkchat.tcl (::tkchat::updateRosterDisplay): We don't have an
	image for "offline", so use "disabled" for now.

2012-01-23  Pat Thoyts  <[email protected]>

>
>
>
>
>
>
>







1
2
3
4
5
6
7
8
9
10
11
12
13
14
2012-07-10  Andreas Kupries  <[email protected]>

	* 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.

2012-02-07  Reinhard Max  <[email protected]>

	* tkchat.tcl (::tkchat::updateRosterDisplay): We don't have an
	image for "offline", so use "disabled" for now.

2012-01-23  Pat Thoyts  <[email protected]>

Changes to apps/tkchat/choosefont/choose_w32.tcl.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# choosefont -- Copyright (C) 2006 Pat Thoyts <[email protected]>
#
# This package provides a font selection dialog. Where possible it will 
# use compiled code to launch a platform-specific dialog. In Windows this
# will be the font common dialog and the intention is to call the Gtk+
# font dialog where the Window manager suggests a GNOME system and a KDE
# dialog for a KDE system.
# We will drop down to DKFs font chooser if we have no other implementation.
#
# $Id: choose_w32.tcl,v 1.1 2006/11/10 00:51:05 patthoyts Exp $

namespace eval ::choosefont {

    critcl::tk
    critcl::clibraries -lcomdlg32 -luser32 -lgdi32
    critcl::ccode {
#define STRICT









|







1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# choosefont -- Copyright (C) 2006 Pat Thoyts <[email protected]>
#
# This package provides a font selection dialog. Where possible it will 
# use compiled code to launch a platform-specific dialog. In Windows this
# will be the font common dialog and the intention is to call the Gtk+
# font dialog where the Window manager suggests a GNOME system and a KDE
# dialog for a KDE system.
# We will drop down to DKFs font chooser if we have no other implementation.
#
# $Id: choose_w32.tcl,v 1.2 2012/07/10 17:18:48 andreas_kupries Exp $

namespace eval ::choosefont {

    critcl::tk
    critcl::clibraries -lcomdlg32 -luser32 -lgdi32
    critcl::ccode {
#define STRICT
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
            }
        }

        if (TCL_OK == r && fontc > 2) {
            int n;
            for (n = 2; TCL_OK == r && n < fontc; ++n) {
                enum {ATTR_BOLD, ATTR_ITALIC, ATTR_UNDERLINE, ATTR_OVERSTRIKE};
                const char *attrStrings[] = {
                    "bold", "italic", "underline", "overstrike", NULL
                };
                int attrc, attr, attribute;
                Tcl_Obj **attrv;
                
                r = Tcl_ListObjGetElements(interp, fontv[n], &attrc, &attrv);
                for (attr = 0; TCL_OK == r && attr < attrc; ++attr) {







|







215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
            }
        }

        if (TCL_OK == r && fontc > 2) {
            int n;
            for (n = 2; TCL_OK == r && n < fontc; ++n) {
                enum {ATTR_BOLD, ATTR_ITALIC, ATTR_UNDERLINE, ATTR_OVERSTRIKE};
                static const char *attrStrings[] = {
                    "bold", "italic", "underline", "overstrike", NULL
                };
                int attrc, attr, attribute;
                Tcl_Obj **attrv;
                
                r = Tcl_ListObjGetElements(interp, fontv[n], &attrc, &attrv);
                for (attr = 0; TCL_OK == r && attr < attrc; ++attr) {