1
0
Fork 0
No description
Find a file
Florent Rougon afe7d996af FGPUIMenuBar: fix bug when several menu entries have the same label
Before this commit, if several menu entries (possibly in different
menus) had the same label after translation and latin1-ization by
FGLocale::utf8toLatin1(), selecting one of them used to fire the
bindings associated to all such entries. This is because the bindings
used to be stored in an std::map whose keys were the
translated-and-latin1-ized labels.

This commit fixes the problem in the following way:
  - the std::map (_bindings) is turned into an std::forward_list;
  - each element of this std::forward_list references the bindings
    assigned to a menu entry;
  - in order to allow FGPUIMenuBar::fireItem() to find the bindings
    assigned to the menu entry that triggered it,
    FGPUIMenuBar::make_menu() calls puMenuBar::add_submenu() with an
    additional argument ("user data") that attaches to the puObject for
    each menu entry a pointer to the relevant element of _bindings.

Note: given how the menubar is created, an std::vector wouldn't be
appropriate for _bindings, because we need the pointers to its elements
to be stable when new elements are added to _bindings.

Reported by Wayne Bragg: https://sourceforge.net/p/flightgear/mailman/message/37682605/
2022-07-27 00:30:12 +02:00
3rdparty osgXR: Update to 0.3.9 2022-07-12 19:26:41 +01:00
CMakeModules CMake: Fallback to built-in osgXR library 2022-01-13 18:01:00 +00:00
docs-mini docs-mini/README-recordings.md: fixed typo. 2021-12-08 10:40:27 +00:00
examples Use the correct GUI members for the Data Distribution Service example 2022-06-12 13:42:26 +01:00
icons Add CMake Linux install directives for the icons and the .desktop file 2017-05-24 22:47:01 +02:00
man Remove Rembrandt command-line options 2021-01-17 14:42:17 +00:00
package Add Polish translation to org.flightgear.FlightGear.desktop file 2022-05-02 18:19:44 +02:00
scripts scripts/python/recordreplay.py: allow use on Windows. 2021-12-08 21:18:01 +00:00
src FGPUIMenuBar: fix bug when several menu entries have the same label 2022-07-27 00:30:12 +02:00
test_suite AI Improvements 2022-05-31 21:23:34 +02:00
utils Turn OpenVSP CSV forces and moments data into tables 2022-05-23 08:19:10 +02:00
.clang-format Tweak clang-format settings 2020-05-27 21:49:22 +01:00
.gitignore Precomputed random numbers API 2021-05-25 12:57:07 +01:00
AUTHORS Fix my mailing address by replacing it with my web page. 2004-11-19 22:10:41 +00:00
ChangeLog Updated ... 2001-06-18 22:25:59 +00:00
CMakeLists.txt src/Viewer/splash: VR splash screen 2022-07-12 22:38:53 +01:00
COPYING Fix minor compiler and checker warnings. 2011-12-19 21:35:50 +01:00
flightgear-version Update version information 2020-10-13 22:34:16 +01:00
INSTALL Add INSTALL file, split MSVC instructions from README.cmake 2012-06-08 13:20:39 +02:00
NEWS Update the NEWS file to reflect v2.0.0 changes. 2010-02-25 23:22:47 +01:00
README README typo 2007-07-24 05:35:31 +00:00
README.cmake Use CMAKE_INSTALL_BINDIR 2016-07-09 18:52:58 -04:00
README.msvc Add INSTALL file, split MSVC instructions from README.cmake 2012-06-08 13:20:39 +02:00
README.OSG Update README.OSG 2012-06-26 23:04:44 +02:00
README.plib Minor documentation update. 2007-11-18 14:22:40 +00:00
README.SimGear Documentation fixes: Updated the contents of README.plib and README.OpenAL. 2007-09-01 10:06:56 +00:00
README.sound Detect AeonWave and if it is installed use it, otherwise fall back to OpenAL. Also let get_available_devices() use C++ strings instead of const char* 2018-06-02 14:06:36 +02:00
Thanks Old address abandoned. 2015-08-26 08:05:30 -07:00

Welcome to the FlightGear Flight Simulator project.
===================================================

The primary web page for this project is: http://www.flightgear.org

For basic installation instructions see the "INSTALL" file.

Before you can run FlightGear you will also need to download and
install the "base" package which is a collection of textures, sounds,
sample scenery, and other data files needed by the sim.

For additional install help for specific platforms please browse the
"docs-mini/" subdirectory.

More complete documentation is available from our web page as a
separate distribution.

Please take a look at the "Thanks" file for a list of people who have
contributed to this project.  If you have contributed something but
don't find your name in this file.  Please send a polite reminder to
http://www.flightgear.org/~curt

For a summary of changes/additions by version see the "NEWS" file.

This project is GPL'd.  For complete details on our licensing please
see the "COPYING" file.

For information on available mailing lists, mailing list archives, and
other available source code and documenation, please visit our web
site.

FlightGear is a product of the collaboration of large international
group of volunteers.  FlightGear is a work in progress.  FlightGear
comes with no warrantee.  We hope you enjoy FlightGear and/or find it
of some value!