From 1f45018ee871edd17a570d202b6ef9460cab0ec4 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Higor=20Eur=C3=ADpedes?= <heuripedes@gmail.com>
Date: Sat, 6 Jun 2020 17:26:42 -0300
Subject: [PATCH 1/2] shader_glsl.c: Move buffer null pointer check in
 gl_glsl_set_coords()

`buffer` is initialized to a statically allocated variable and can only be NULL
when the allocation of a bigger buffer fails. When only the core frame is being
displayed, the buffer never points to the heap thanks to the small buffer
optimization.
---
 gfx/drivers_shader/shader_glsl.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/gfx/drivers_shader/shader_glsl.c b/gfx/drivers_shader/shader_glsl.c
index de76111e0f..ebc4c6a107 100644
--- a/gfx/drivers_shader/shader_glsl.c
+++ b/gfx/drivers_shader/shader_glsl.c
@@ -1443,10 +1443,10 @@ static bool gl_glsl_set_coords(void *shader_data,
       elems        *= coords->vertices * sizeof(GLfloat);
 
       buffer        = (GLfloat*)malloc(elems);
-   }
 
-   if (!buffer)
-      return false;
+      if (!buffer)
+         return false;
+   }
 
    if (uni->tex_coord >= 0)
    {

From ec197c441e5a78d19092bce66fb59a437627540f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Higor=20Eur=C3=ADpedes?= <heuripedes@gmail.com>
Date: Sat, 6 Jun 2020 20:03:21 -0300
Subject: [PATCH 2/2] ozone: Move some menu_entry_get*() calls to a better
 place

menu_entry_get*() was getting called even for entries that wouldn't be displayed.
---
 menu/drivers/ozone/ozone_entries.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/menu/drivers/ozone/ozone_entries.c b/menu/drivers/ozone/ozone_entries.c
index e71a52bd4e..0951f43144 100644
--- a/menu/drivers/ozone/ozone_entries.c
+++ b/menu/drivers/ozone/ozone_entries.c
@@ -574,8 +574,6 @@ border_iterate:
       menu_entry_init(&entry);
       entry.path_enabled  = false;
       entry.label_enabled = false;
-      menu_entry_get(&entry, 0, (unsigned)i, selection_buf, true);
-      menu_entry_get_value(&entry, &entry_value);
 
       if (!node)
          continue;
@@ -585,6 +583,9 @@ border_iterate:
       else if (y + scroll_y - node->height - 20 * scale_factor > bottom_boundary)
          goto icons_iterate;
 
+      menu_entry_get(&entry, 0, (unsigned)i, selection_buf, true);
+      menu_entry_get_value(&entry, &entry_value);
+
       /* Prepare text */
       menu_entry_get_rich_label(&entry, &entry_rich_label);