Segmentation Fault in SDL_FillRect

Viewed 613

I'm using the SDL2 library, in C.

I made a test program to open a white window, but I get a segmentation fault with the function SDL_FillRect even though there are no errors or warnings when I build it.

Here's the code:

#include <stdio.h>
#include <stdlib.h>
#include <stdbool.h>
#include <SDL2/SDL.h>
#include <SDL2/SDL_image.h>
#include <SDL2/SDL_ttf.h>

static const int window_width = 1000;
static const int window_height = 1000;

int main(int argc, char* argv[])
{
    //Window
    SDL_Window *window = NULL;

    //Window Surface where things will be shown
    SDL_Surface *surface = NULL;

    //Inicializar SDL
    if(SDL_Init(SDL_INIT_VIDEO) == -1)
    {
        printf("Failed to initialize SDL2. SDL Error: %s", SDL_GetError());
    }
    else
    {
        window = SDL_CreateWindow("Test", SDL_WINDOWPOS_UNDEFINED, SDL_WINDOWPOS_UNDEFINED, window_width, window_height, SDL_WINDOW_SHOWN );
        if(window == NULL)
            printf("Failed to create SDL2 window. SDL Error: %s", SDL_GetError());
        else
        {
            //Fill window with white color
            SDL_FillRect(surface, NULL, SDL_MapRGB(surface->format, 0xFF, 0xFF, 0xFF));
            //Update surface with new changes
            SDL_UpdateWindowSurface(window);
            //Wait before closing (parameter in miliseconds)
            SDL_Delay(4000);
        }
    }
    SDL_DestroyWindow(window);
    SDL_Quit();

    return 0;
}
1 Answers
Related