summaryrefslogtreecommitdiffstats
path: root/win/ttkWinTheme.c
diff options
context:
space:
mode:
authorjenglish <jenglish@noemail.net>2007-11-08 01:40:23 (GMT)
committerjenglish <jenglish@noemail.net>2007-11-08 01:40:23 (GMT)
commit270b226bc2da39f788461103ee105702e3c38469 (patch)
treeadd48b19aba5fd375a93fc51364bb2e52cfb953d /win/ttkWinTheme.c
parent297d5be1e8e07586a7ecd7b08a44b3ce5820d9ff (diff)
downloadtk-270b226bc2da39f788461103ee105702e3c38469.zip
tk-270b226bc2da39f788461103ee105702e3c38469.tar.gz
tk-270b226bc2da39f788461103ee105702e3c38469.tar.bz2
Ttk_ElementSize: Fixed longstanding, subtle bug that caused element padding
to sometimes be counted twice in size computations. Fix ElementSizeProcs affected by previous change. FossilOrigin-Name: d561a619388a1b186c637eea112ad2bde3425827
Diffstat (limited to 'win/ttkWinTheme.c')
-rw-r--r--win/ttkWinTheme.c11
1 files changed, 5 insertions, 6 deletions
diff --git a/win/ttkWinTheme.c b/win/ttkWinTheme.c
index 41754ee..18c6405 100644
--- a/win/ttkWinTheme.c
+++ b/win/ttkWinTheme.c
@@ -1,6 +1,6 @@
/* winTheme.c - Copyright (C) 2004 Pat Thoyts <patthoyts@users.sf.net>
*
- * $Id: ttkWinTheme.c,v 1.8 2007/10/25 07:08:26 jenglish Exp $
+ * $Id: ttkWinTheme.c,v 1.9 2007/11/08 01:40:25 jenglish Exp $
*/
#ifdef _MSC_VER
@@ -93,7 +93,7 @@ typedef struct
int cxId; /* system metric id for size in x */
int cyId; /* system metric id for size in y */
Ttk_StateTable *stateMap; /* map Tk states to Win32 flags */
- Ttk_Padding padding; /* additional placement padding */
+ Ttk_Padding margins; /* additional placement padding */
} FrameControlElementData;
static FrameControlElementData FrameControlElements[] =
@@ -129,10 +129,9 @@ static void FrameControlElementSize(
void *clientData, void *elementRecord, Tk_Window tkwin,
int *widthPtr, int *heightPtr, Ttk_Padding *paddingPtr)
{
- FrameControlElementData *elementData = clientData;
- *widthPtr = GetSystemMetrics(elementData->cxId);
- *heightPtr = GetSystemMetrics(elementData->cyId);
- *paddingPtr = elementData->padding;
+ FrameControlElementData *p = clientData;
+ *widthPtr = GetSystemMetrics(p->cxId) + Ttk_PaddingWidth(p->margins);
+ *heightPtr = GetSystemMetrics(p->cyId) + Ttk_PaddingHeight(p->margins);
}
static void FrameControlElementDraw(