Skip to content

Commit

Permalink
Don't use std::vector
Browse files Browse the repository at this point in the history
  • Loading branch information
inactive123 committed Oct 2, 2017
1 parent 5ef6de4 commit 9c639ec
Show file tree
Hide file tree
Showing 2 changed files with 22 additions and 16 deletions.
33 changes: 20 additions & 13 deletions gfx/drivers/d3d.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1190,9 +1190,11 @@ static void d3d_free_overlays(d3d_video_t *d3d)
if (!d3d)
return;

for (i = 0; i < d3d->overlays.size(); i++)
for (i = 0; i < d3d->overlays_size; i++)
d3d_free_overlay(d3d, &d3d->overlays[i]);
d3d->overlays.clear();
free(d3d->overlays);
d3d->overlays = NULL;
d3d->overlays_size = 0;
}
#endif

Expand All @@ -1203,22 +1205,25 @@ static void d3d_free(void *data)
if (!d3d)
return;

d3d_deinitialize(d3d);
#ifdef HAVE_OVERLAY
d3d_free_overlays(d3d);
if (d3d->overlays)
free(d3d->overlays);
d3d->overlays = NULL;
d3d->overlays_size = 0;
#endif

video_context_driver_free();

#ifndef _XBOX
#ifdef HAVE_MENU
d3d_free_overlay(d3d, d3d->menu);
if (d3d->menu)
free(d3d->menu);
d3d->menu = NULL;
#endif
d3d->menu = NULL;
#endif

d3d_deinitialize(d3d);

video_context_driver_free();

if (!string_is_empty(d3d->shader_path))
free(d3d->shader_path);

Expand Down Expand Up @@ -1278,15 +1283,17 @@ static bool d3d_overlay_load(void *data,
const void *image_data, unsigned num_images)
{
unsigned i, y;
d3d_video_t *d3d = (d3d_video_t*)data;
overlay_t *new_overlays = NULL;
d3d_video_t *d3d = (d3d_video_t*)data;
const struct texture_image *images = (const struct texture_image*)
image_data;

if (!d3d)
return false;

d3d_free_overlays(d3d);
d3d->overlays.resize(num_images);
d3d->overlays = (overlay_t*)calloc(num_images, sizeof(*d3d->overlays));
d3d->overlays_size = num_images;

for (i = 0; i < num_images; i++)
{
Expand Down Expand Up @@ -1339,7 +1346,7 @@ static void d3d_overlay_enable(void *data, bool state)
if (!d3d)
return;

for (i = 0; i < d3d->overlays.size(); i++)
for (i = 0; i < d3d->overlays_size; i++)
d3d->overlays_enabled = state;

video_context_driver_show_mouse(&state);
Expand All @@ -1350,7 +1357,7 @@ static void d3d_overlay_full_screen(void *data, bool enable)
unsigned i;
d3d_video_t *d3d = (d3d_video_t*)data;

for (i = 0; i < d3d->overlays.size(); i++)
for (i = 0; i < d3d->overlays_size; i++)
d3d->overlays[i].fullscreen = enable;
}

Expand Down Expand Up @@ -1468,7 +1475,7 @@ static bool d3d_frame(void *data, const void *frame,
#ifdef HAVE_OVERLAY
if (d3d->overlays_enabled)
{
for (i = 0; i < d3d->overlays.size(); i++)
for (i = 0; i < d3d->overlays_size; i++)
d3d_overlay_render(d3d, video_info, &d3d->overlays[i]);
}
#endif
Expand Down
5 changes: 2 additions & 3 deletions gfx/drivers/d3d.h
Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,6 @@
#ifndef __D3DVIDEO_INTF_H__
#define __D3DVIDEO_INTF_H__

#include <vector>

#ifdef HAVE_CONFIG_H
#include "../../config.h"
#endif
Expand Down Expand Up @@ -98,7 +96,8 @@ typedef struct d3d_video
char *shader_path;

#ifdef HAVE_OVERLAY
std::vector<overlay_t> overlays;
size_t overlays_size;
overlay_t *overlays;
#endif
} d3d_video_t;

Expand Down

0 comments on commit 9c639ec

Please sign in to comment.