mirror of
https://github.com/Ryujinx/SDL.git
synced 2024-12-24 13:55:38 +00:00
0e45984fa0
The internal function SDL_EGL_LoadLibrary() did not delete and remove a mostly uninitialized data structure if loading the library first failed. A later try to use EGL then skipped initialization and assumed it was previously successful because the data structure now already existed. This led to at least one crash in the internal function SDL_EGL_ChooseConfig() because a NULL pointer was dereferenced to make a call to eglBindAPI().
64 lines
1.8 KiB
C
64 lines
1.8 KiB
C
/* See COPYING.txt for the full license governing this code. */
|
|
/**
|
|
* \file SDL_visualtest_variators.h
|
|
*
|
|
* Header for all the variators that vary input parameters to a SUT application.
|
|
*/
|
|
|
|
#include "SDL_visualtest_exhaustive_variator.h"
|
|
#include "SDL_visualtest_random_variator.h"
|
|
|
|
#ifndef _SDL_visualtest_variators_h
|
|
#define _SDL_visualtest_variators_h
|
|
|
|
/* Set up for C function definitions, even when using C++ */
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
/**
|
|
* Struct that acts like a wrapper around the different types of variators
|
|
* available.
|
|
*/
|
|
typedef struct SDLVisualTest_Variator
|
|
{
|
|
/*! Type of the variator */
|
|
SDLVisualTest_VariatorType type;
|
|
/*! union object that stores the variator */
|
|
union
|
|
{
|
|
SDLVisualTest_ExhaustiveVariator exhaustive;
|
|
SDLVisualTest_RandomVariator random;
|
|
} data;
|
|
} SDLVisualTest_Variator;
|
|
|
|
/**
|
|
* Initializes the variator object pointed to by \c variator of type \c type
|
|
* with information from the config object pointed to by \c config.
|
|
*
|
|
* \return 1 on success, 0 on failure
|
|
*/
|
|
int SDLVisualTest_InitVariator(SDLVisualTest_Variator* variator,
|
|
SDLVisualTest_SUTConfig* config,
|
|
SDLVisualTest_VariatorType type,
|
|
Uint64 seed);
|
|
|
|
/**
|
|
* Gets the next variation using the variator.
|
|
*
|
|
* \return The arguments string representing the variation on success, and
|
|
* NULL on failure. The pointer returned should not be freed.
|
|
*/
|
|
char* SDLVisualTest_GetNextVariation(SDLVisualTest_Variator* variator);
|
|
|
|
/**
|
|
* Frees any resources associated with the variator.
|
|
*/
|
|
void SDLVisualTest_FreeVariator(SDLVisualTest_Variator* variator);
|
|
|
|
/* Ends C function definitions when using C++ */
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
#endif /* _SDL_visualtest_variators_h */ |