summaryrefslogtreecommitdiffstats
path: root/win
diff options
context:
space:
mode:
authorhobbs <hobbs>1999-09-22 06:53:07 (GMT)
committerhobbs <hobbs>1999-09-22 06:53:07 (GMT)
commit34e1f07231357ed71ef318a9d7c0bd880432f529 (patch)
tree70b025d7d49df577a1cdea2a30d1bca75f4e6260 /win
parentc87e8a004b0f429eae82f59f102168a67926445d (diff)
downloadtk-34e1f07231357ed71ef318a9d7c0bd880432f529.zip
tk-34e1f07231357ed71ef318a9d7c0bd880432f529.tar.gz
tk-34e1f07231357ed71ef318a9d7c0bd880432f529.tar.bz2
1999-09-21 Jeff Hobbs <hobbs@scriptics.com>
* generic/tkFont.c: fixed processing of font options and error returned [Bug: 2075] * win/tkWinWm.c: fixed bug in 'wm deiconify' that raised the wrong toplevel, and changed it to not set focus on overridden toplevels * unix/aclocal.m4: added fix for FreeBSD-[1-2] recognition [Bug: 2070] and fix to AIX-* to get ldAix right [Bug: 2624], fixed AIX version check and several other config fixes for AIX * mac/tkMacMenubutton.c: * unix/tkUnixMenubu.c: fixed permanently stippled menubutton image * win/tkWinButton.c: fixed possible pointer smash [Bug: 2733] * win/tkWinMenu.c: fix for stack overrun in GetTextFace [Bug: 909] * unix/tkUnixDraw.c: fixed header style for TkpDrawHighlightBorder * generic/tkCanvas.c: fixed GC error (bg <> fg) in tkCanvas.c (from code added to support TkpDrawHighlightBorder) [Bug: 2676]
Diffstat (limited to 'win')
-rw-r--r--win/tkWinButton.c10
-rw-r--r--win/tkWinMenu.c4
-rw-r--r--win/tkWinWm.c11
3 files changed, 18 insertions, 7 deletions
diff --git a/win/tkWinButton.c b/win/tkWinButton.c
index 6f2602c..2d8e0bc 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.5 1999/04/21 21:53:32 rjohnson Exp $
+ * RCS: @(#) $Id: tkWinButton.c,v 1.5.6.1 1999/09/22 06:53:24 hobbs Exp $
*/
#define OEMRESOURCE
@@ -789,6 +789,14 @@ ButtonProc(hwnd, message, wParam, lParam)
BeginPaint(hwnd, &ps);
EndPaint(hwnd, &ps);
TkpDisplayButton((ClientData)butPtr);
+
+ /*
+ * Special note: must cancel any existing idle handler
+ * for TkpDisplayButton; it's no longer needed, and
+ * TkpDisplayButton cleared the REDRAW_PENDING flag.
+ */
+
+ Tcl_CancelIdleCall(TkpDisplayButton, (ClientData)butPtr);
return 0;
}
case BN_CLICKED: {
diff --git a/win/tkWinMenu.c b/win/tkWinMenu.c
index b39d584..4b1a1b5 100644
--- a/win/tkWinMenu.c
+++ b/win/tkWinMenu.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: tkWinMenu.c,v 1.5 1999/04/16 01:51:52 stanton Exp $
+ * RCS: @(#) $Id: tkWinMenu.c,v 1.5.6.1 1999/09/22 06:53:24 hobbs Exp $
*/
#define OEMRESOURCE
@@ -2716,7 +2716,7 @@ SetDefaults(
}
SelectObject(scratchDC, menuFont);
GetTextMetrics(scratchDC, &tm);
- GetTextFace(scratchDC, sizeof(menuFontDString), faceName);
+ GetTextFace(scratchDC, LF_FACESIZE, faceName);
pointSize = MulDiv(tm.tmHeight - tm.tmInternalLeading,
72, GetDeviceCaps(scratchDC, LOGPIXELSY));
if (tm.tmWeight >= 700) {
diff --git a/win/tkWinWm.c b/win/tkWinWm.c
index 822735e..a689649 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.10 1999/08/10 16:58:52 hobbs Exp $
+ * RCS: @(#) $Id: tkWinWm.c,v 1.10.4.1 1999/09/22 06:53:25 hobbs Exp $
*/
#include "tkWinInt.h"
@@ -1392,10 +1392,13 @@ Tk_WmCmd(clientData, interp, argc, argv)
TkpWmSetState(winPtr, NormalState);
/*
* Follow Windows-like style here:
- * raise the window to the top and force the focus on it
+ * raise the window to the top, and if it isn't overridden,
+ * then force the focus on it
*/
- Tk_RestackWindow(tkwin, Above, NULL);
- TkSetFocusWin(winPtr, 1);
+ TkWmRestackToplevel(winPtr, Above, NULL);
+ if (!(Tk_Attributes((Tk_Window) winPtr)->override_redirect)) {
+ TkSetFocusWin(winPtr, 1);
+ }
} else if ((c == 'f') && (strncmp(argv[1], "focusmodel", length) == 0)
&& (length >= 2)) {
if ((argc != 3) && (argc != 4)) {