SDL_CreateWindow = Invalid Window

Le problème exposé dans ce sujet a été résolu.

Hello,

j'ai une erreur lors de la création de mon renderer avec la SDL. En utilisant SDL_GetError() ça me retourne: Invalid Window.

Voici ma fonction init :

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
bool App::Init()
{
    if(SDL_Init(SDL_INIT_VIDEO) < 0)
    {
        Log("Unable to Init SDL: %s", SDL_GetError());
        return false;
    }

    if(!SDL_SetHint(SDL_HINT_RENDER_SCALE_QUALITY, "1"))
    {
        Log("Unable to Init hinting: %s", SDL_GetError());
    }

    if((Window = SDL_CreateWindow("Snake - SDL2", SDL_WINDOWPOS_UNDEFINED, SDL_WINDOWPOS_UNDEFINED, WindowWidth, WindowHeight, SDL_WINDOW_SHOWN)) = NULL)
    {
        Log("Unable to create SDL Window: %s", SDL_GetError());
        return false;
    }

    PrimarySurface = SDL_GetWindowSurface(Window);

    if((Renderer = SDL_CreateRenderer(Window, -1, SDL_RENDERER_ACCELERATED)) == NULL)
    {
        Log("Unable to create renderer: %s", SDL_GetError());
        return false;
    }

    SDL_SetRenderDrawColor(Renderer, 0x00, 0x00, 0x00, 0xFF);

    return true;
}

Lu'!

Quitte à manipuler SDL avec C++, ce serait pas mal de wrapper à grain plus fin (d'une part), d'exploiter le fonctionnement des constructeurs d'autre part (pas de "Init"), et de traiter l'arrivée d'une erreur de l'environnement par le jet d'exceptions.

Concernant ton erreur, le "= NULL" y est probablement pour quelque chose (d'ailleurs, on préférerait nullptr).

Quitte à manipuler SDL avec C++, ce serait pas mal de wrapper à grain plus fin (d'une part), d'exploiter le fonctionnement des constructeurs d'autre part (pas de "Init"), et de traiter l'arrivée d'une erreur de l'environnement par le jet d'exceptions.

Je vais me documenter.

Concernant ton erreur, le "= NULL" y est probablement pour quelque chose (d'ailleurs, on préférerait nullptr).

L'erreur bête et plus j'essaye de la trouver plus il y a de chance que je ne la trouve pas. Merci :)

Connectez-vous pour pouvoir poster un message.
Connexion

Pas encore membre ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte