From 00b1b03df4ce671eea9cc375ea1d6d7d892d73ea Mon Sep 17 00:00:00 2001 From: fvogel Date: Thu, 6 Apr 2017 20:01:59 +0000 Subject: Slightly better fix anonymously proposed in [6020ee2d03]. Use floor() instead of casting to an int. --- generic/ttk/ttkNotebook.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/generic/ttk/ttkNotebook.c b/generic/ttk/ttkNotebook.c index 389d520..b649e4b 100644 --- a/generic/ttk/ttkNotebook.c +++ b/generic/ttk/ttkNotebook.c @@ -4,6 +4,7 @@ #include #include +#include #include #include @@ -454,15 +455,17 @@ static void SqueezeTabs( if (nTabs > 0) { int difference = available - needed; - double delta = (double)difference / needed; + double fraction = (double)difference / needed; double slack = 0; + double ad; int i; for (i = 0; i < nTabs; ++i) { Tab *tab = Ttk_SlaveData(nb->notebook.mgr,i); - double ad = slack + tab->width * delta; + + ad = slack + tab->width * fraction; tab->width += (int)ad; - slack = ad - (int)ad; + slack = ad - floor(ad); } } } -- cgit v0.12