summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--win/tkWinMenu.c73
-rw-r--r--win/tkWinWindow.c6
-rw-r--r--win/tkWinWm.c30
3 files changed, 51 insertions, 58 deletions
diff --git a/win/tkWinMenu.c b/win/tkWinMenu.c
index 3d95ff5..08b143f 100644
--- a/win/tkWinMenu.c
+++ b/win/tkWinMenu.c
@@ -10,7 +10,7 @@
* See the file "license.terms" for information on usage and redistribution of
* this file, and for a DISCLAIMER OF ALL WARRANTIES.
*
- * RCS: @(#) $Id: tkWinMenu.c,v 1.54 2007/02/22 13:56:34 dkf Exp $
+ * RCS: @(#) $Id: tkWinMenu.c,v 1.55 2007/02/23 14:15:34 dkf Exp $
*/
#define OEMRESOURCE
@@ -169,30 +169,25 @@ static LRESULT CALLBACK TkWinEmbeddedMenuProc(HWND hwnd, UINT message,
* Allocates a new menu id and marks it in use.
*
* Results:
- * Returns TCL_OK if succesful; TCL_ERROR if there are no more
- * ids of the appropriate type to allocate. menuIDPtr contains
- * the new id if succesful.
+ * Returns TCL_OK if succesful; TCL_ERROR if there are no more ids of the
+ * appropriate type to allocate. menuIDPtr contains the new id if
+ * succesful.
*
* Side effects:
- * An entry is created for the menu in the command hash table,
- * and the hash entry is stored in the appropriate field in the
- * menu data structure.
+ * An entry is created for the menu in the command hash table, and the
+ * hash entry is stored in the appropriate field in the menu data
+ * structure.
*
*----------------------------------------------------------------------
*/
static int
GetNewID(
- TkMenuEntry *mePtr, /* The menu we are working with */
- WORD *menuIDPtr) /* The resulting id */
+ TkMenuEntry *mePtr, /* The menu we are working with. */
+ WORD *menuIDPtr) /* The resulting id. */
{
- int found = 0;
- int newEntry;
- Tcl_HashEntry *commandEntryPtr;
- WORD returnID;
ThreadSpecificData *tsdPtr = (ThreadSpecificData *)
Tcl_GetThreadData(&dataKey, sizeof(ThreadSpecificData));
-
WORD curID = tsdPtr->lastCommandID + 1;
/*
@@ -201,24 +196,20 @@ GetNewID(
*/
while (curID != tsdPtr->lastCommandID) {
+ Tcl_HashEntry *commandEntryPtr;
+ int newEntry;
+
commandEntryPtr = Tcl_CreateHashEntry(&tsdPtr->commandTable,
- (char *) curID, &newEntry);
+ ((char *) NULL) + curID, &newEntry);
if (newEntry == 1) {
- found = 1;
- returnID = curID;
- break;
+ Tcl_SetHashValue(commandEntryPtr, (char *) mePtr);
+ *menuIDPtr = curID;
+ tsdPtr->lastCommandID = curID;
+ return TCL_OK;
}
curID++;
}
-
- if (found) {
- Tcl_SetHashValue(commandEntryPtr, (char *) mePtr);
- *menuIDPtr = returnID;
- tsdPtr->lastCommandID = returnID;
- return TCL_OK;
- } else {
- return TCL_ERROR;
- }
+ return TCL_ERROR;
}
/*
@@ -250,7 +241,7 @@ FreeID(
if (tsdPtr->menuHWND != NULL) {
Tcl_HashEntry *entryPtr = Tcl_FindHashEntry(&tsdPtr->commandTable,
- (char *) commandID);
+ ((char *) NULL) + commandID);
if (entryPtr != NULL) {
Tcl_DeleteHashEntry(entryPtr);
}
@@ -418,7 +409,7 @@ TkpDestroyMenuEntry(
Tcl_DoWhenIdle(ReconfigureWindowsMenu, (ClientData) menuPtr);
}
}
- FreeID((WORD) mePtr->platformEntryData);
+ FreeID((WORD) (UINT) mePtr->platformEntryData);
mePtr->platformEntryData = NULL;
}
@@ -851,7 +842,7 @@ TkpMenuNewEntry(
Tcl_DoWhenIdle(ReconfigureWindowsMenu, (ClientData) menuPtr);
}
- mePtr->platformEntryData = (TkMenuPlatformEntryData) commandID;
+ mePtr->platformEntryData = (TkMenuPlatformEntryData) (UINT) commandID;
return TCL_OK;
}
@@ -1060,7 +1051,7 @@ TkWinHandleMenuEvent(
break;
}
hashEntryPtr = Tcl_FindHashEntry(&tsdPtr->commandTable,
- (char *) LOWORD(*pwParam));
+ ((char *) NULL) + LOWORD(*pwParam));
if (hashEntryPtr == NULL) {
break;
}
@@ -1123,14 +1114,16 @@ TkWinHandleMenuEvent(
underline = menuPtr->entries[i]->underline;
labelPtr = menuPtr->entries[i]->labelPtr;
if ((underline >= 0) && (labelPtr != NULL)) {
- /* do the unicode call just to prevent overruns */
+ /*
+ * Do the unicode call just to prevent overruns.
+ */
+
Tcl_GetUnicodeFromObj(labelPtr, &len);
if (underline < len) {
- char *label;
- label = Tcl_GetStringFromObj(labelPtr, NULL);
- if (CharUpper((LPTSTR) menuChar)
- == CharUpper((LPTSTR)
- *Tcl_UtfAtIndex(label, underline))) {
+ char *label = Tcl_GetString(labelPtr);
+
+ if (CharUpper((LPTSTR) menuChar) == CharUpper((LPTSTR)
+ *Tcl_UtfAtIndex(label, underline))) {
*plResult = (2 << 16) | i;
returnResult = 1;
break;
@@ -1256,7 +1249,7 @@ TkWinHandleMenuEvent(
mePtr = menuPtr->entries[entryIndex];
} else {
hashEntryPtr = Tcl_FindHashEntry(&tsdPtr->commandTable,
- (char *) entryIndex);
+ ((char *) NULL) + entryIndex);
if (hashEntryPtr != NULL) {
mePtr = (TkMenuEntry *)
Tcl_GetHashValue(hashEntryPtr);
@@ -3238,8 +3231,8 @@ TkpMenuInit(void)
*
* TkpMenuThreadInit --
*
- * Sets up the thread-local hash tables used by the menu module.
- * Assumes that TkpMenuInit has been called.
+ * Sets up the thread-local hash tables used by the menu module. Assumes
+ * that TkpMenuInit has been called.
*
* Results:
* None.
diff --git a/win/tkWinWindow.c b/win/tkWinWindow.c
index 016fbb7..e7a25af 100644
--- a/win/tkWinWindow.c
+++ b/win/tkWinWindow.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: tkWinWindow.c,v 1.14 2007/02/22 13:56:35 dkf Exp $
+ * RCS: @(#) $Id: tkWinWindow.c,v 1.15 2007/02/23 14:15:34 dkf Exp $
*/
#include "tkWinInt.h"
@@ -208,7 +208,7 @@ TkpScanWindowId(
Window *idPtr) /* Place to store converted result. */
{
Tk_Window tkwin;
- Window number;
+ Window number, *numberPtr = &number;
/*
* We want sscanf for the 64-bit check, but if that doesn't work, then
@@ -219,7 +219,7 @@ TkpScanWindowId(
#ifdef _WIN64
(sscanf(string, "0x%p", &number) != 1) &&
#endif
- Tcl_GetInt(interp, string, (int *) &number) != TCL_OK) {
+ Tcl_GetInt(interp, string, (int *) numberPtr) != TCL_OK) {
return TCL_ERROR;
}
diff --git a/win/tkWinWm.c b/win/tkWinWm.c
index 0935afb..2a0df7d 100644
--- a/win/tkWinWm.c
+++ b/win/tkWinWm.c
@@ -12,7 +12,7 @@
* See the file "license.terms" for information on usage and redistribution of
* this file, and for a DISCLAIMER OF ALL WARRANTIES.
*
- * RCS: @(#) $Id: tkWinWm.c,v 1.114 2007/02/22 13:56:35 dkf Exp $
+ * RCS: @(#) $Id: tkWinWm.c,v 1.115 2007/02/23 14:15:34 dkf Exp $
*/
#include "tkWinInt.h"
@@ -76,10 +76,9 @@ typedef struct TkWmStackorderToplevelPair {
/*
* This structure represents the contents of a icon, in terms of its image.
- * The HICON is an internal Windows format. Most of these
- * icon-specific-structures originated with the Winico extension. We stripped
- * out unused parts of that code, and integrated the code more naturally with
- * Tcl.
+ * The HICON is an internal Windows format. Most of these icon-specific
+ * structures originated with the Winico extension. We stripped out unused
+ * parts of that code, and integrated the code more naturally with Tcl.
*/
typedef struct {
@@ -1611,6 +1610,7 @@ GetIcon(
return NULL;
}
+#if 0 /* UNUSED */
static HCURSOR
TclWinReadCursorFromFile(
Tcl_Interp* interp,
@@ -1629,6 +1629,7 @@ TclWinReadCursorFromFile(
FreeIconBlock(lpIR);
return res;
}
+#endif
/*
*----------------------------------------------------------------------
@@ -2934,7 +2935,7 @@ Tk_WmObjCmd(
};
int index, length;
char *argv1;
- TkWindow *winPtr;
+ TkWindow *winPtr, **winPtrPtr = &winPtr;
TkDisplay *dispPtr = ((TkWindow *) tkwin)->dispPtr;
if (objc < 2) {
@@ -2978,7 +2979,7 @@ Tk_WmObjCmd(
goto wrongNumArgs;
}
- if (TkGetWindowFromObj(interp, tkwin, objv[2], (Tk_Window *) &winPtr)
+ if (TkGetWindowFromObj(interp, tkwin, objv[2], (Tk_Window *) winPtrPtr)
!= TCL_OK) {
return TCL_ERROR;
}
@@ -3494,7 +3495,7 @@ WmColormapwindowsCmd(
{
register WmInfo *wmPtr = winPtr->wmInfoPtr;
TkWindow **cmapList;
- TkWindow *winPtr2;
+ TkWindow *winPtr2, **winPtr2Ptr = &winPtr2;
int i, windowObjc, gotToplevel;
Tcl_Obj **windowObjv;
@@ -3522,7 +3523,7 @@ WmColormapwindowsCmd(
gotToplevel = 0;
for (i = 0; i < windowObjc; i++) {
if (TkGetWindowFromObj(interp, tkwin, windowObjv[i],
- (Tk_Window *) &winPtr2) != TCL_OK) {
+ (Tk_Window *) winPtr2Ptr) != TCL_OK) {
ckfree((char *) cmapList);
return TCL_ERROR;
}
@@ -4323,7 +4324,6 @@ WmIconphotoCmd(
int objc, /* Number of arguments. */
Tcl_Obj *CONST objv[]) /* Argument objects. */
{
- register WmInfo *wmPtr = winPtr->wmInfoPtr;
TkWindow *useWinPtr = winPtr; /* window to apply to (NULL if -default) */
Tk_PhotoHandle photo;
Tk_PhotoImageBlock block;
@@ -5085,11 +5085,11 @@ WmStackorderCmd(
return TCL_OK;
}
} else {
- TkWindow *winPtr2;
+ TkWindow *winPtr2, **winPtr2Ptr = &winPtr2;
int index1=-1, index2=-1, result;
- if (TkGetWindowFromObj(interp, tkwin, objv[4], (Tk_Window *) &winPtr2)
- != TCL_OK) {
+ if (TkGetWindowFromObj(interp, tkwin, objv[4],
+ (Tk_Window *) winPtr2Ptr) != TCL_OK) {
return TCL_ERROR;
}
@@ -5397,7 +5397,7 @@ WmTransientCmd(
Tcl_Obj *CONST objv[]) /* Argument objects. */
{
register WmInfo *wmPtr = winPtr->wmInfoPtr;
- TkWindow *masterPtr = wmPtr->masterPtr;
+ TkWindow *masterPtr = wmPtr->masterPtr, **masterPtrPtr = &masterPtr;
WmInfo *wmPtr2;
if ((objc != 3) && (objc != 4)) {
@@ -5426,7 +5426,7 @@ WmTransientCmd(
wmPtr->masterPtr = NULL;
} else {
if (TkGetWindowFromObj(interp, tkwin, objv[3],
- (Tk_Window *) &masterPtr) != TCL_OK) {
+ (Tk_Window *) masterPtrPtr) != TCL_OK) {
return TCL_ERROR;
}
while (!Tk_TopWinHierarchy(masterPtr)) {