diff options
author | hobbs <hobbs> | 1999-09-22 06:53:07 (GMT) |
---|---|---|
committer | hobbs <hobbs> | 1999-09-22 06:53:07 (GMT) |
commit | 34e1f07231357ed71ef318a9d7c0bd880432f529 (patch) | |
tree | 70b025d7d49df577a1cdea2a30d1bca75f4e6260 /win | |
parent | c87e8a004b0f429eae82f59f102168a67926445d (diff) | |
download | tk-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.c | 10 | ||||
-rw-r--r-- | win/tkWinMenu.c | 4 | ||||
-rw-r--r-- | win/tkWinWm.c | 11 |
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)) { |