- the fix kernel panics caused by screenimage in devdraw being temporarily nil. properly acquire the drawlock while setting screensize. the patch to screen.c will even work if devdraw.c is not updated, as the interface was not changed. all what happens is that the softscreen will never get freed as devdraw will create its own Memdata/Memimage so the refcount will not drop on gscreen when deletescreenimage() is called. the patch to screen.c also simplifies screensize() as we dont need to keep track of the softscreen anymore. just calling freememimage(gscreen) on the old gscreen will do the job. the gscreendata was made a local static variable as its only used when we create gscreen with hardscreen framebuffer in screensize().