diff --git a/include/draw.h b/include/draw.h index 2bc9b4be..3a012959 100644 --- a/include/draw.h +++ b/include/draw.h @@ -525,6 +525,8 @@ extern int _drawdebug; /* set to 1 to see errors from flushimage */ extern void _setdrawop(Display*, Drawop); extern Display *_initdisplay(void(*)(Display*,char*), char*); +extern void needdisplay(void); /* call instead of initdraw to get (null) variable linked in */ + #define BGSHORT(p) (((p)[0]<<0) | ((p)[1]<<8)) #define BGLONG(p) ((BGSHORT(p)<<0) | (BGSHORT(p+2)<<16)) #define BPSHORT(p, v) ((p)[0]=(v), (p)[1]=((v)>>8)) diff --git a/src/cmd/9term/bsdpty.c b/src/cmd/9term/bsdpty.c index fe0367f0..31281325 100644 --- a/src/cmd/9term/bsdpty.c +++ b/src/cmd/9term/bsdpty.c @@ -77,10 +77,10 @@ updatewinsize(int row, int col, int dx, int dy) ws.ws_col = col; ws.ws_xpixel = dx; - + needdisplay(); // in case this is 'win' and not 9term // Leave "is this a hidpi display" in the low bit of the ypixel height for mc. dy &= ~1; - if(display->dpi >= DefaultDPI*3/2) + if(display != nil && display->dpi >= DefaultDPI*3/2) dy |= 1; ws.ws_ypixel = dy; diff --git a/src/libdraw/init.c b/src/libdraw/init.c index 452b6da7..e5a367f3 100644 --- a/src/libdraw/init.c +++ b/src/libdraw/init.c @@ -19,6 +19,11 @@ Image *mousebuttons; Image *mousesave; Mouse _drawmouse; +void +needdisplay(void) +{ +} + /* static void drawshutdown(void)