OpenGL switch to Software Rendering crash

Bug #1130905 reported by Tino on 2013-02-20
This bug affects 1 person
Affects Status Importance Assigned to Milestone

Bug Description

I can't switch any longer between OpenGL and software rendering in widelands.

Variant A, OpenGL active:
- deactivate OpenGL in advanced option, the moment i press apply in the options menu widelands quits. No log in stderr.txt. a new config file does not get written, OpenGL stays active

Variant B, opengl = false in config:
- activate OpenGL in advanced option, the moment i press apply i get back to the main menu, but instead of texts only white bars (see screenshot). You can still click on the buttons, but after 1-2 menu changes widelands quits, too. no output in stderr and no updated config file.

(Perhaps worth a seperate bug: when does the config file gets written? It seems not when you change settings and press apply. Only on widelands startup and correct exit?)

Tino (tino79) wrote :
Nicolai Hähnle (nha) wrote :

Confirmed with current trunk (bzr6515) on Linux.

Yes, the config file is only written on exit. I'm not sure whether that should be changed though. It might be that the crash is actually caused by a change in the configuration, and in that case it would actually be a bad idea to save the change to disk.

Changed in widelands:
status: New → Confirmed
importance: Undecided → Medium
milestone: none → build18-rc1
SirVer (sirver) wrote :

This is very likely my fuckup - when redoing the graphics system I removed all cases where flush() and so on was called because I was unhappy with them.

My rewrite aimed to make the graphics object deletable and recreatable. It should now be (relatively) easy to delete g_gr and immediately create it again - maybe not even this is necessary, as long as the surface cache is deleted and recreated and the screen object and the SDL Window we should be fine. It is important that the ImageCache should *not* be recreated as the UI relies on it being valid for all times. Oh, and there must not be any inMemoryImages in existance - we should be able to guarantee this in the menu, but maybe not in the game itself.

SirVer (sirver) wrote :

I started working on this and I have something that sortof works - but it crashes in random places on my machine. I would appreciate some testing and maybe a reliable way to reproduce a crash. The code is in lp:~widelands-dev/widelands/graphic_resetting

Changed in widelands:
assignee: nobody → SirVer (sirver)
Hans Joachim Desserud (hjd) wrote :

See also bug 1159968 for various crashes when changing settings. Might be the same underlying cause.

tags: added: opengl regression
removed: win32
SirVer (sirver) wrote :

I cannot repro after merging the fix for b1159968. Setting to fix committed. Please reopen when you can still reproduce this.

Changed in widelands:
assignee: SirVer (sirver) → nobody
status: Confirmed → Fix Committed
SirVer (sirver) wrote :

Released in build-18 rc1.

Changed in widelands:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers

Bug attachments