Окно SDL не активируется (кнопка сворачивания и закрытия не работает) - PullRequest
1 голос
/ 09 апреля 2020

Когда открывается окно SDL, я ничего не могу щелкнуть в окне, и мой курсор - синий курсор загрузки. Поэтому, когда я пытаюсь свернуть окно, оно ничего не делает. Справка!

Код:

#include "SDL.h"

int main(int argc, char *argv[])  {
    SDL_Init(SDL_INIT_EVERYTHING);

    SDL_Window *window = SDL_CreateWindow("Title",
            SDL_WINDOWPOS_CENTERED,
            SDL_WINDOWPOS_CENTERED,
            640, 480,
            SDL_WINDOW_SHOWN);

    SDL_Renderer *renderer = SDL_CreateRenderer(window, -1, 0);

    SDL_SetRenderDrawColor(renderer, 0, 255, 0, 255);

    SDL_RenderClear(renderer);

    SDL_RenderPresent(renderer);

    SDL_Delay(3000);

    return 0;
}

Я использую компилятор MinGW, моя IDE - Eclipse, а версия SDL - 2.0.12.

1 Ответ

3 голосов
/ 09 апреля 2020

SDL_Delay блокирует основной поток до его возврата. На Windows основной поток приложения должен обработать и ответить на сообщения Windows, чтобы сделать что-либо, в противном случае он помечается как «не отвечающий». Поскольку поток заблокирован, вот что происходит.

SDL обрабатывает это в своей системе событий, в которую вы должны обращаться с событием l oop, вызывающим SDL_PollEvent.

...