Question: The following abort - what situation does it describe, which .lng-file does the message refer to and on what would you have a look at? Is there something I would have to generate, similar to the squirrel_export?
Background: The dialog it tries to open is implemented by me, I am almost sure that the click at hand already worked some months ago (had a major break with the work at that patch), its description is below the error message.
Code:
Error: String 0xB698 is invalid. You are probably using an old version of the .lng file.
Program received signal SIGABRT, Aborted.
0xb7fe2424 in __kernel_vsyscall ()
(gdb) bt
#0 0xb7fe2424 in __kernel_vsyscall ()
#1 0xb7b71911 in *__GI_raise (sig=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:64
#2 0xb7b74d42 in *__GI_abort () at abort.c:92
#3 0x0831e9fe in error (s=0x8533ef8 "String 0x%X is invalid. You are probably using an old version of the .lng file.\n") at /home/wol/openttd/_trunk_tip/src/openttd.cpp:120
#4 0x08415c3c in GetStringWithArgs (buffr=0xbfffa6c0 ">>", string=46744, args=0xbfffa350, last=0xbfffaebf "\250\230\233\261\250\260R\262\250\230\233\261\250G6H\bH\257\377\277?\210", case_index=0, game_script=false)
at /home/wol/openttd/_trunk_tip/src/strings.cpp:216
#5 0x084102a1 in FormatString (buff=0xbfffa6c0 ">>", str_arg=<optimized out>, args=0x86b4840, last=0xbfffaebf "\250\230\233\261\250\260R\262\250\230\233\261\250G6H\bH\257\377\277?\210", case_index=0, game_script=false, dry_run=true)
at /home/wol/openttd/_trunk_tip/src/strings.cpp:1100
#6 0x08413957 in FormatString (buff=0xbfffa6c0 ">>", str_arg=0xb703c449 "", args=0x86b4840, last=0xbfffaebf "\250\230\233\261\250\260R\262\250\230\233\261\250G6H\bH\257\377\277?\210", case_index=0, game_script=false,
dry_run=false) at /home/wol/openttd/_trunk_tip/src/strings.cpp:845
#7 0x08415770 in GetStringWithArgs (buffr=0xbfffa6c0 ">>", string=34879, args=0x86b4840, last=0xbfffaebf "\250\230\233\261\250\260R\262\250\230\233\261\250G6H\bH\257\377\277?\210", case_index=0, game_script=false)
at /home/wol/openttd/_trunk_tip/src/strings.cpp:219
#8 0x08415cff in GetString (buffr=0xbfffa6c0 ">>", string=34879, last=0xbfffaebf "\250\230\233\261\250\260R\262\250\230\233\261\250G6H\bH\257\377\277?\210") at /home/wol/openttd/_trunk_tip/src/strings.cpp:226
#9 0x082721de in GetStringBoundingBox (strid=34879) at /home/wol/openttd/_trunk_tip/src/gfx.cpp:1057
#10 0x08483647 in NWidgetLeaf::SetupSmallestSize (this=0xa8b252b0, w=0xa8b19b98, init_array=true) at /home/wol/openttd/_trunk_tip/src/widget.cpp:2281
#11 0x08483f70 in NWidgetHorizontal::SetupSmallestSize (this=0xa8b25080, w=0xa8b19b98, init_array=true) at /home/wol/openttd/_trunk_tip/src/widget.cpp:1098
#12 0x08483d10 in NWidgetVertical::SetupSmallestSize (this=0xa8b25030, w=0xa8b19b98, init_array=true) at /home/wol/openttd/_trunk_tip/src/widget.cpp:1260
#13 0x08483d10 in NWidgetVertical::SetupSmallestSize (this=0xa8b564c8, w=0xa8b19b98, init_array=true) at /home/wol/openttd/_trunk_tip/src/widget.cpp:1260
#14 0x08482f78 in NWidgetBackground::SetupSmallestSize (this=0xa8b24fc8, w=0xa8b19b98, init_array=true) at /home/wol/openttd/_trunk_tip/src/widget.cpp:1707
#15 0x08483d10 in NWidgetVertical::SetupSmallestSize (this=0xa8b19d58, w=0xa8b19b98, init_array=true) at /home/wol/openttd/_trunk_tip/src/widget.cpp:1260
#16 0x0848d225 in Window::InitializeData (this=0xa8b19b98, desc=0x8605c80, window_number=0) at /home/wol/openttd/_trunk_tip/src/window.cpp:1162
#17 0x0848dd5b in Window::FinishInitNested (this=0xa8b19b98, desc=0x8605c80, window_number=0) at /home/wol/openttd/_trunk_tip/src/window.cpp:1506
#18 0x082368ae in SetDurationWindow (callback=0x8422000 <SetLengthCallback(Window const*, Duration)>, caption=3162, initial_duration=..., parent=0xa8b08c78, window_number=0, desc=0x8605c80, this=0xa8b19b98)
at /home/wol/openttd/_trunk_tip/src/duration_gui.cpp:122
#19 ShowSetDurationWindow (parent=0xa8b08c78, window_number=0, initial_duration=..., caption=3162, callback=0x8422000 <SetLengthCallback(Window const*, Duration)>) at /home/wol/openttd/_trunk_tip/src/duration_gui.cpp:324
#20 0x0842b1b3 in TimetableWindow::OnClick (this=0xa8b08c78, pt=..., widget=26, click_count=1) at /home/wol/openttd/_trunk_tip/src/timetable_gui.cpp:1221
#21 0x0848fb3d in DispatchLeftClickEvent (click_count=1, y=123, x=616, w=0xa8b08c78) at /home/wol/openttd/_trunk_tip/src/window.cpp:496
#22 MouseLoop (mousewheel=<optimized out>, click=<optimized out>) at /home/wol/openttd/_trunk_tip/src/window.cpp:2455
#23 HandleMouseEvents () at /home/wol/openttd/_trunk_tip/src/window.cpp:2544
#24 0x08471b55 in PollEvent () at /home/wol/openttd/_trunk_tip/src/video/sdl_v.cpp:457
#25 VideoDriver_SDL::MainLoop (this=0x8701108) at /home/wol/openttd/_trunk_tip/src/video/sdl_v.cpp:571
#26 0x0831ffd1 in ttd_main (argc=1, argv=0xbffff564) at /home/wol/openttd/_trunk_tip/src/openttd.cpp:848
#27 0x0815d848 in main (argc=1, argv=0xbffff564) at /home/wol/openttd/_trunk_tip/src/os/unix/unix.cpp:275
(gdb)
Description of the dialog:
Code:
/** Widgets for the date setting window. */
static const NWidgetPart _nested_set_duration_widgets[] = {
NWidget(NWID_HORIZONTAL),
NWidget(WWT_CLOSEBOX, COLOUR_BROWN),
NWidget(WWT_CAPTION, COLOUR_BROWN, WID_SDU_CAPTION), SetDataTip(STR_DURATION_CAPTION, STR_TOOLTIP_WINDOW_TITLE_DRAG_THIS),
EndContainer(),
NWidget(WWT_PANEL, COLOUR_BROWN),
NWidget(NWID_VERTICAL), SetPIP(6, 6, 6),
NWidget(NWID_HORIZONTAL, NC_EQUALSIZE), SetPIP(6, 6, 6),
NWidget(WWT_PUSHTXTBTN, COLOUR_BROWN, WID_SDU_FAST_SMALLER_BUTTON), SetMinimalSize(20, 12), SetDataTip(STR_DURATION_FAST_SMALLER_BUTTON_CAPTION, STR_DURATION_FAST_SMALLER_BUTTON_TOOLTIP),
NWidget(WWT_PUSHTXTBTN, COLOUR_BROWN, WID_SDU_SMALLER_BUTTON), SetMinimalSize(20, 12), SetDataTip(STR_DURATION_SMALLER_BUTTON_CAPTION, STR_DURATION_SMALLER_BUTTON_TOOLTIP),
NWidget(WWT_EDITBOX, COLOUR_GREY, WID_SDU_LENGTH_EDITBOX), SetMinimalSize(80, 12), SetResize(1, 0), SetFill(1, 0), SetPadding(2, 2, 2, 2),
SetDataTip(STR_DURATION_ENTER_LENGTH_OSKTITLE, STR_DURATION_ENTER_LENGTH_TOOLTIP),
NWidget(WWT_PUSHTXTBTN, COLOUR_BROWN, WID_SDU_BIGGER_BUTTON), SetMinimalSize(20, 12), SetDataTip(STR_DURATION_BIGGER_BUTTON_CAPTION, STR_DURATION_BIGGER_BUTTON_TOOLTIP),
NWidget(WWT_PUSHTXTBTN, COLOUR_BROWN, WID_SDU_FAST_BIGGER_BUTTON), SetMinimalSize(20, 12), SetDataTip(STR_DURATION_FAST_BIGGER_BUTTON_CAPTION, STR_DURATION_FAST_BIGGER_BUTTON_TOOLTIP),
NWidget(WWT_DROPDOWN, COLOUR_ORANGE, WID_SDU_UNIT_DROPDOWN), SetFill(1, 0), SetDataTip(STR_JUST_STRING, STR_DURATION_UNIT_DROPDOWN_TOOLTIP),
EndContainer(),
NWidget(NWID_HORIZONTAL),
NWidget(NWID_SPACER), SetFill(1, 0),
NWidget(WWT_PUSHTXTBTN, COLOUR_BROWN, WID_SDU_CHOOSE_BUTTON), SetMinimalSize(80, 12), SetDataTip(STR_DURATION_CHOOSE_DURATION_BUTTON_CAPTION, STR_DURATION_CHOOSE_DURATION_BUTTON_TOOLTIP),
NWidget(NWID_SPACER), SetFill(1, 0),
EndContainer(),
EndContainer(),
EndContainer()
};