SDL_GetError liefert Invalid Renderer
-
Ich bins nochmal. Momentan schreite ich mit meinem Projekt sehr gut voran. Kann vieles auch selber lösen, aber momentan habe ich einen Fehler den ich nicht finden kann. Mich würde erstmal interessieren wie ich herausfinde wo dieser Fehler liegt. An der entsprechenden Stelle wird geprüft ob der SDL_Texture gleich nullptr ist. Und da schmeißt er mich aus dem Programm, weil ich es genau an der Stelle dort abbreche. Ich lasse mir dann mit SDL_GetError den Fehler ausgeben, aber der behauptet nur "Invalid Renderer". Ich habe an dieser Stelle schonmal überprüft ob der Renderer vielleicht null ist, aber es ist alles in Ordnung.
Hat jemand vielleicht Tipps wie ich den Fehler eingrenze? Im Internet habe ich viel zu Invalid Renderer gefunden, aber nichts hat mir geholfen. Hab nur gelesen, dass es mehrere Gründe haben kann und der Fehler meist woanders auftritt.
Von daher kann sich jemand erbarmen und mir ein wenig unter die Arme greifen?
Hier mal die Stelle wo er abbricht.
bool Ghuul::Texture::load(Game *game, const std::string &filename) { SDL_Surface *surface = IMG_Load(filename.c_str()); if (surface == nullptr) { std::cout << "Couldnt load Texture " << filename << " " << SDL_GetError() << std::endl; game->m_ReturnCode = 1; return false; } m_Texture = SDL_CreateTextureFromSurface(game->renderer(), surface); if (m_Texture == nullptr) { std::cout << "Couldnt load Texture from Surface " << filename << " " << SDL_GetError() << std::endl; game->m_ReturnCode = 1; return false; } SDL_FreeSurface(surface); return true; }
Er bricht wohl ab weil m_Texture == nullptr ist.
-
Hab zumindest mal herausgefunden, dass es nicht am Renderer liegt.
if (game->renderer()) { if (m_Texture == nullptr) { std::cout << "Couldnt load Texture " << filename << " " << SDL_GetError() << std::endl; game->m_ReturnCode = 1; game->m_Running = false; } }
Ich hab echt kein Plan was ich tun kann. Hab schon soviele Tutorials abgeklappert.