X-Git-Url: http://winboard.nl/cgi-bin?a=blobdiff_plain;f=filebrowser%2Fdraw.c;h=048fa858ebb31da66446cf1be0091916256f6e0c;hb=71c3de687d33523d83dec50208b0e44815fd7d20;hp=46ed663118336f907a69e1d03c8ad6b01c4c11fd;hpb=5dca19a2828b0e6e0594b734792533e0c4f76146;p=xboard.git diff --git a/filebrowser/draw.c b/filebrowser/draw.c index 46ed663..048fa85 100644 --- a/filebrowser/draw.c +++ b/filebrowser/draw.c @@ -25,8 +25,8 @@ */ #include -#include "selfile.h" #include "xstat.h" +#include "selfile.h" #include #include #include @@ -38,11 +38,6 @@ #endif #define ABS(x) (((x) < 0) ? (-(x)) : (x)) -/* added missing prototypes */ -extern char SFstatChar(struct stat*); -extern int SFchdir(char *); -void SFvSliderMovedCallback(Widget, int, int); - typedef struct { char *fontname; } TextData, *textPtr; @@ -655,7 +650,10 @@ SFvSliderMovedCallback(w, n, new) dir = &(SFdirs[SFdirPtr + n]); + old = dir->vOrigin; + if(new == -1) new = old + 1; else if(new == -2) new = old - 1; // [HGM] indicates scroll direction on mousewheel event + if(new < 0 || new > dir->nEntries - SFlistSize) return; dir->vOrigin = new; if (old == new) {