9term, win: work around bsd linker nonsense Change-Id: Ifcef0636ee1e1fd0f9b06a8d1a99d58fae831318 Reviewed-on: https://plan9port-review.googlesource.com/2780 Reviewed-by: Russ Cox <rsc@swtch.com>
diff --git a/include/draw.h b/include/draw.h index 2bc9b4b..3a01295 100644 --- a/include/draw.h +++ b/include/draw.h
@@ -525,6 +525,8 @@ 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 fe0367f..3128132 100644 --- a/src/cmd/9term/bsdpty.c +++ b/src/cmd/9term/bsdpty.c
@@ -77,10 +77,10 @@ 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 452b6da..e5a367f 100644 --- a/src/libdraw/init.c +++ b/src/libdraw/init.c
@@ -19,6 +19,11 @@ Image *mousesave; Mouse _drawmouse; +void +needdisplay(void) +{ +} + /* static void drawshutdown(void)