View Issue Details

IDProjectCategoryView StatusLast Update
0011866Dwarf FortressTechnical -- Generalpublic2022-05-02 19:25
Reporternext_ghost Assigned Tolethosor  
PrioritynormalSeveritycrashReproducibilityalways
Status resolvedResolutionduplicate 
OSGentoo Linux 
Product Version0.47.05 
Summary0011866: Custom built libgraphics.so causes crashes
DescriptionGento Linux builds its own libgraphics.so from the sources provided in Dwarf Fortress tarball. Due to missing return statements in three functions, the custom built library causes crashes on program startup.
Steps To Reproduce1. Build libgraphics.so from sources
2. Run Dwarf Fortress
3. Crash
TagsNo tags attached.

Relationships

duplicate of 0011564 confirmedlethosor Segfault when starting game, infinite loop when stopping it 

Activities

next_ghost

2022-05-01 10:55

reporter   ~0041249

Patch to fix the issues in Dwarf Fortress 0.47.05:

--- df_linux_orig/g_src/enabler.cpp 2022-05-01 14:52:07.053022460 +0200
+++ df_linux/g_src/enabler.cpp 2022-05-01 15:08:52.435383092 +0200
@@ -590,6 +590,7 @@
 
   // Clean up graphical resources
   delete renderer;
+ return 0;
 }
 
 void enablerst::override_grid_size(int x, int y) {
--- df_linux_orig/g_src/music_and_sound_openal.cpp 2022-05-01 14:52:07.054022447 +0200
+++ df_linux/g_src/music_and_sound_openal.cpp 2022-05-01 15:20:17.963764833 +0200
@@ -480,7 +480,7 @@
 
 void alEnable( ALenum capability ) { _alEnable(capability); }
 void alDisable( ALenum capability ) { _alDisable(capability); }
-ALboolean alIsEnabled( ALenum capability ) { _alIsEnabled(capability); }
+ALboolean alIsEnabled( ALenum capability ) { return _alIsEnabled(capability); }
 const ALchar* alGetString( ALenum param ) { return _alGetString(param); }
 void alGetBooleanv( ALenum param, ALboolean* data ) { _alGetBooleanv(param, data); }
 void alGetIntegerv( ALenum param, ALint* data ) { _alGetIntegerv(param, data); }
@@ -490,7 +490,7 @@
 ALint alGetInteger( ALenum param ) { return _alGetInteger(param); }
 ALfloat alGetFloat( ALenum param ) { return _alGetFloat(param); }
 ALdouble alGetDouble( ALenum param ) { return _alGetDouble(param); }
-ALenum alGetError( void ) { _alGetError(); }
+ALenum alGetError( void ) { return _alGetError(); }
 ALboolean alIsExtensionPresent( const ALchar* extname ) { return _alIsExtensionPresent(extname); }
 void* alGetProcAddress( const ALchar* fname ) { return _alGetProcAddress(fname); }
 ALenum alGetEnumValue( const ALchar* ename ) { return _alGetEnumValue(ename); }

lethosor

2022-05-02 19:23

manager   ~0041250

Marking as public because I don't see any identifying information here.

lethosor

2022-05-02 19:25

manager   ~0041251

Duplicate of 0011564

Issue History

Date Modified Username Field Change
2022-05-01 10:53 next_ghost New Issue
2022-05-01 10:55 next_ghost Note Added: 0041249
2022-05-02 19:23 lethosor Note Added: 0041250
2022-05-02 19:23 lethosor View Status private => public
2022-05-02 19:25 lethosor Note Added: 0041251
2022-05-02 19:25 lethosor Relationship added duplicate of 0011564
2022-05-02 19:25 lethosor Status new => resolved
2022-05-02 19:25 lethosor Resolution open => duplicate
2022-05-02 19:25 lethosor Assigned To => lethosor