From 94da1855bfb5427e7f876dfb71c009df2e912eeb Mon Sep 17 00:00:00 2001 From: jenglish Date: Sun, 4 Apr 2004 20:08:39 +0000 Subject: Fix for bug #915350 "Tk sets min, max size in WM_HINTS when it shouldn't" and #922336 "Tk apps have no maximize window button under KDE-3.2.1" --- ChangeLog | 5 +++++ unix/tkUnixWm.c | 11 +++++++++-- 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/ChangeLog b/ChangeLog index 4121177..3208996 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2004-04-04 Joe English + * unix/tkUnixWm.c: Fix for bug #915350 "Tk sets min, max size in + WM_HINTS when it shouldn't" and #922336 "Tk apps have no maximize + window button under KDE-3.2.1" + 2004-03-31 Jim Ingham * tkMacOSXCarbonEvents.c (AppEventHandlerProc): Handle the diff --git a/unix/tkUnixWm.c b/unix/tkUnixWm.c index b52b439..94162bd 100644 --- a/unix/tkUnixWm.c +++ b/unix/tkUnixWm.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: tkUnixWm.c,v 1.40 2004/01/31 20:27:52 jenglish Exp $ + * RCS: @(#) $Id: tkUnixWm.c,v 1.41 2004/04/04 20:08:39 jenglish Exp $ */ #include "tkPort.h" @@ -2279,6 +2279,13 @@ WmMaxsizeCmd(tkwin, winPtr, interp, objc, objv) wmPtr->maxWidth = width; wmPtr->maxHeight = height; wmPtr->flags |= WM_UPDATE_SIZE_HINTS; + + if (width <= 0 && height <= 0) { + wmPtr->sizeHintsFlags &= ~PMaxSize; + } else { + wmPtr->sizeHintsFlags |= PMaxSize; + } + WmUpdateGeom(wmPtr, winPtr); return TCL_OK; } @@ -4269,7 +4276,7 @@ UpdateSizeHints(winPtr, newWidth, newHeight) hintsPtr->max_aspect.x = wmPtr->maxAspect.x; hintsPtr->max_aspect.y = wmPtr->maxAspect.y; hintsPtr->win_gravity = wmPtr->gravity; - hintsPtr->flags = wmPtr->sizeHintsFlags | PMinSize | PMaxSize; + hintsPtr->flags = wmPtr->sizeHintsFlags | PMinSize; /* * If the window isn't supposed to be resizable, then set the -- cgit v0.12