summaryrefslogtreecommitdiffstats
path: root/minuitwrp/graphics_utils.cpp
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--minuitwrp/graphics_utils.cpp (renamed from minuitwrp/graphics_utils.c)9
1 files changed, 7 insertions, 2 deletions
diff --git a/minuitwrp/graphics_utils.c b/minuitwrp/graphics_utils.cpp
index ea1182dd9..6ce570484 100644
--- a/minuitwrp/graphics_utils.c
+++ b/minuitwrp/graphics_utils.cpp
@@ -23,7 +23,8 @@
#include "minui.h"
struct fb_var_screeninfo vi;
-GGLSurface gr_mem_surface;
+extern GGLSurface gr_mem_surface;
+extern GRSurface* gr_draw;
int gr_save_screenshot(const char *dest)
{
@@ -41,7 +42,11 @@ int gr_save_screenshot(const char *dest)
if(!fp)
goto exit;
- img_data = malloc(gr_mem_surface.stride * vi.yres * 4);
+ img_data = (uint8_t *)malloc(gr_mem_surface.stride * gr_mem_surface.height * gr_draw->pixel_bytes);
+ if (!img_data) {
+ printf("gr_save_screenshot failed to malloc img_data\n");
+ goto exit;
+ }
surface.version = sizeof(surface);
surface.width = gr_mem_surface.width;
surface.height = gr_mem_surface.height;