diff options
author | mdejong <mdejong> | 2006-12-12 23:38:22 (GMT) |
---|---|---|
committer | mdejong <mdejong> | 2006-12-12 23:38:22 (GMT) |
commit | 3954c391dbfff265521c67f0ed568ab874b213f1 (patch) | |
tree | 4efb7b2d5f99ee7de0b325a3fe019874cead3e3c | |
parent | 817b914d518b7afafd8e2cb2d2f44b25ffbc91c2 (diff) | |
download | tk-3954c391dbfff265521c67f0ed568ab874b213f1.zip tk-3954c391dbfff265521c67f0ed568ab874b213f1.tar.gz tk-3954c391dbfff265521c67f0ed568ab874b213f1.tar.bz2 |
* win/tkWinButton.c (InitBoxes): Call Tcl_Panic()
if loading of bitmap resources fails. This change
generates an error if Tk is unable to find button
widget resources instead of silently failing and
then drawing widgets incorrectly.
win/rc/tk_base.rc: If the user defines BASE_NO_TK_ICON
then compile the base resources file without a
"tk" icon. This change makes it easier to replace the
default tk icon with a custom icon.
[Patch 1614362]
-rw-r--r-- | ChangeLog | 13 | ||||
-rw-r--r-- | win/rc/tk_base.rc | 9 | ||||
-rw-r--r-- | win/tkWinButton.c | 7 |
3 files changed, 26 insertions, 3 deletions
@@ -1,3 +1,16 @@ +2006-12-12 Mo DeJong <mdejong@users.sourceforge.net> + + * win/tkWinButton.c (InitBoxes): Call Tcl_Panic() + if loading of bitmap resources fails. This change + generates an error if Tk is unable to find button + widget resources instead of silently failing and + then drawing widgets incorrectly. + win/rc/tk_base.rc: If the user defines BASE_NO_TK_ICON + then compile the base resources file without a + "tk" icon. This change makes it easier to replace the + default tk icon with a custom icon. + [Patch 1614362] + 2006-12-11 Donal K. Fellows <donal.k.fellows@manchester.ac.uk> * unix/tkUnixWm.c (TkWmMapWindow, WmClientCmd): Added support for diff --git a/win/rc/tk_base.rc b/win/rc/tk_base.rc index fa7dc9a..456a5aa 100644 --- a/win/rc/tk_base.rc +++ b/win/rc/tk_base.rc @@ -1,4 +1,4 @@ -// RCS: @(#) $Id: tk_base.rc,v 1.3 2004/01/13 02:01:55 davygrvy Exp $ +// RCS: @(#) $Id: tk_base.rc,v 1.4 2006/12/12 23:38:22 mdejong Exp $ // // Base resources needed by Tk whether it's a DLL or a static library. // @@ -8,8 +8,15 @@ // // Tk Icon // +// The BASE_NO_TK_ICON symbol can be defined to avoid +// creating an icon named "tk" in this resource file. +// The user can then create another icon named tk in +// another resource file and link both resource files. +// Tk will then use the custom icon instead of tk.ico. +#ifndef BASE_NO_TK_ICON tk ICON DISCARDABLE "tk.ico" +#endif #include <dlgs.h> diff --git a/win/tkWinButton.c b/win/tkWinButton.c index c7efb90..4503595 100644 --- a/win/tkWinButton.c +++ b/win/tkWinButton.c @@ -9,7 +9,7 @@ * See the file "license.terms" for information on usage and redistribution * of this file, and for a DISCLAIMER OF ALL WARRANTIES. * - * RCS: @(#) $Id: tkWinButton.c,v 1.28 2005/12/02 13:42:29 dkf Exp $ + * RCS: @(#) $Id: tkWinButton.c,v 1.29 2006/12/12 23:38:22 mdejong Exp $ */ #define OEMRESOURCE @@ -134,7 +134,10 @@ InitBoxes(void) Tcl_GetThreadData(&dataKey, sizeof(ThreadSpecificData)); hrsrc = FindResource(module, "buttons", RT_BITMAP); - if (hrsrc) { + if (hrsrc == NULL) { + Tcl_Panic("FindResource() failed for buttons bitmap resource, " + "resources in tk_base.rc must be linked into Tk dll or static executable"); + } else { hblk = LoadResource(module, hrsrc); tsdPtr->boxesPtr = (LPBITMAPINFOHEADER)LockResource(hblk); } |