X-Git-Url: http://git.mutantstargoat.com?a=blobdiff_plain;f=src%2Fgfx.cc;h=3de2e1d149f981196825b3c9cdb6a26316898d03;hb=5deac1a20d178aa7d2e8bb5cbc79b6584c6287f5;hp=0afa479e4c66029a5613c0a6ba059c59ceaf7021;hpb=18aa4e842c332f25b041cc8b2e47090539197113;p=winnie diff --git a/src/gfx.cc b/src/gfx.cc index 0afa479..3de2e1d 100644 --- a/src/gfx.cc +++ b/src/gfx.cc @@ -58,7 +58,12 @@ bool init_gfx() void destroy_gfx() { - close(dev_fd); + clear_screen(0, 0, 0); + + if(dev_fd != -1) { + close(dev_fd); + } + dev_fd = -1; munmap(framebuffer, FRAMEBUFFER_SIZE(screen_rect.width, screen_rect.height, color_depth)); @@ -87,12 +92,12 @@ void clear_screen(int r, int g, int b) void fill_rect(const Rect &rect, int r, int g, int b) { - unsigned char *fb = framebuffer + rect.x + screen_rect.width * rect.y; + unsigned char *fb = framebuffer + (rect.x + screen_rect.width * rect.y) * 4; for(int i=0; i