summaryrefslogtreecommitdiff
path: root/libtk
diff options
context:
space:
mode:
Diffstat (limited to 'libtk')
-rw-r--r--libtk/textu.c2
-rw-r--r--libtk/textw.c12
-rw-r--r--libtk/tindx.c3
-rw-r--r--libtk/utils.c1
-rw-r--r--libtk/windw.c1
5 files changed, 12 insertions, 7 deletions
diff --git a/libtk/textu.c b/libtk/textu.c
index 854dc8d5..28642130 100644
--- a/libtk/textu.c
+++ b/libtk/textu.c
@@ -618,7 +618,7 @@ tktbbox(Tk *tk, TkTindex *ix)
r.min.x = 0;
r.min.y = 0;
r.max.x = 0;
- r.max.x = 0;
+ r.max.y = 0;
return r;
}
diff --git a/libtk/textw.c b/libtk/textw.c
index bf560d9f..f17c9edb 100644
--- a/libtk/textw.c
+++ b/libtk/textw.c
@@ -113,10 +113,10 @@ static TkEbind tktbinds[] = {
{TkKey|CNTL('p'), "%W tkTextSetCursor {insert-1l}"},
{TkKey|Up, "%W tkTextSetCursor {insert-1l}"},
{TkKey|CNTL('u'), "%W tkTextDelIns -l"},
- {TkKey|CNTL('v'), "%W yview scroll 1 page"},
- {TkKey|Pgdown, "%W yview scroll 1 page"},
+ {TkKey|CNTL('v'), "%W yview scroll 0.75 page"},
+ {TkKey|Pgdown, "%W yview scroll 0.75 page"},
{TkKey|CNTL('w'), "%W tkTextDelIns -w"},
- {TkKey|Pgup, "%W yview scroll -1 page"},
+ {TkKey|Pgup, "%W yview scroll -0.75 page"},
{TkFocusout, "%W tkTextCursor delete"},
{TkKey|APP|'\t', ""},
{TkKey|BackTab, ""},
@@ -1799,8 +1799,9 @@ tktview(Tk *tk, char *arg, char **val, int nl, int *posn, int max, int orient)
}
else
if(strcmp(buf, "scroll") == 0) {
- arg = tkword(tk->env->top, arg, buf, buf+sizeof(buf), nil);
- amount = atoi(buf);
+ e = tkfracword(tk->env->top, &arg, &amount, nil);
+ if(e != nil)
+ return e;
arg = tkskip(arg, " \t");
if(*arg == 'p') /* Pages */
amount *= nl;
@@ -1811,6 +1812,7 @@ tktview(Tk *tk, char *arg, char **val, int nl, int *posn, int max, int orient)
}
else
amount *= tk->env->wzero;
+ amount = TKF2I(amount);
n = *posn + amount;
if(n < 0)
n = 0;
diff --git a/libtk/tindx.c b/libtk/tindx.c
index 8eeffc69..dd0807bf 100644
--- a/libtk/tindx.c
+++ b/libtk/tindx.c
@@ -517,7 +517,8 @@ tktindcompare(TkText *tkt, TkTindex *i1, int op, TkTindex *i2)
ans = !eq && tktindbefore(i2, i1);
break;
default:
- SET(ans);
+ ans = 0; /* not reached */
+ break;
};
return ans;
diff --git a/libtk/utils.c b/libtk/utils.c
index 4e86e40c..635bef9a 100644
--- a/libtk/utils.c
+++ b/libtk/utils.c
@@ -310,6 +310,7 @@ tkrgbashade(ulong rgba, int shade)
return rgba;
tkrgbavals(rgba, &R, &G, &B, &A);
+ h = s = v = 0;
rgb2hsv(R, G, B, &h, &s, &v);
if (v < MINDELTA) {
diff --git a/libtk/windw.c b/libtk/windw.c
index 4c9e608c..6f9fd78d 100644
--- a/libtk/windw.c
+++ b/libtk/windw.c
@@ -137,6 +137,7 @@ tkinwindow(Tk *tk, Point p, int descend)
if (descend && tkmethod[tk->type]->inwindow != nil)
f = tkmethod[tk->type]->inwindow(tk, &p);
else {
+ q = p;
for (f = tk->slave; f; f = f->next) {
q.x = p.x - (f->act.x + f->borderwidth);
q.y = p.y - (f->act.y + f->borderwidth);