From: John W. <jwh...@gm...> - 2009-09-22 07:19:30
|
Thanks Max. These are merged and in git sf master, alongwith other changes by me as described below. Mostly the changes relate to further elimination of global variables. This version is notable also for having using RWLocks for the logger and task. The task code is largely hidden behind a facade which provides the appropriate locking, and ensures (as long as the client code does the right thing) that recursive locks aren't applied. There is a bug in this version whereby removing a waypoint from the task can cause the system to crash. This will be addressed. See also my follow-up email about the task system which is being worked on. John Wharington (28): added destructor for topologystore fix flakey shutdown removed forcefinalglide manual control, removed globals task settings no longer global (yay!) bug fix, task file set flying status to false after loading persist removed unused headers eliminate airspace globals removed airspace globals removed SelectedWaypoint global remove unused include remove unused include remove unused include remove debug text fixed flying status persist removed more globals (sound) turned logger into own class remove junk added lock to logger, hide details behind facade logger: prevent holding up calculation thread more globals elimination removed some statics in mapwindow implemented fairer map idle scheduler (round robin) removed unused headers use enums instead of #defined enums more use of enums use proper enums for task Merge branch 'master' of git://git.snow-crash.org/xcsoar Common/Data/Input/Makefile | 4 - Common/Data/Input/altair.xci | 7 - Common/Data/Input/default.xci | 7 - Common/Data/Input/fivv.xci | 7 - Common/Data/Input/pc.xci | 7 - Common/Header/Airspace.h | 21 +- Common/Header/AirspaceWarning.h | 4 + Common/Header/Dialogs.h | 11 +- Common/Header/GlideComputer.hpp | 31 +- Common/Header/InputEvents.h | 1 - Common/Header/InputEvents_Text2Event.cpp | 185 +++--- Common/Header/InputEvents_altair.cpp | 6 - Common/Header/InputEvents_defaults.cpp | 6 - Common/Header/InputEvents_fivv.cpp | 6 - Common/Header/InputEvents_pc.cpp | 6 - Common/Header/Logger.h | 83 +-- Common/Header/LoggerImpl.hpp | 134 ++++ Common/Header/MapWindow.h | 8 + Common/Header/NMEA/Derived.hpp | 10 +- Common/Header/Registry.hpp | 3 + Common/Header/Screen/Canvas.hpp | 5 + Common/Header/Screen/Graphics.hpp | 4 +- Common/Header/Screen/Util.hpp | 3 - Common/Header/Settings.hpp | 41 - Common/Header/SettingsAirspace.hpp | 49 +- Common/Header/SettingsComputer.hpp | 121 ++-- Common/Header/SettingsTask.hpp | 72 ++- Common/Header/SettingsUser.hpp | 4 + Common/Header/Task.h | 13 + Common/Header/TaskImpl.hpp | 34 +- Common/Header/TopologyStore.h | 3 +- Common/Header/WindowControls.h | 3 - Common/Source/AATDistance.cpp | 2 +- Common/Source/Abort.cpp | 2 +- Common/Source/Airspace.cpp | 49 +- Common/Source/AirspaceParser.cpp | 3 - Common/Source/AirspaceWarning.cpp | 11 +- Common/Source/Audio/VegaVoice.cpp | 2 +- Common/Source/BestAlternate.cpp | 1 - Common/Source/Calculations.cpp | 34 +- Common/Source/Components.cpp | 21 +- Common/Source/ConditionMonitor.cpp | 8 +- Common/Source/Device/devBorgeltB50.cpp | 1 - Common/Source/Device/devVega.cpp | 1 - Common/Source/Device/devVolkslogger.cpp | 44 +- Common/Source/DeviceBlackboard.cpp | 1 - Common/Source/Dialogs.cpp | 3 +- Common/Source/Dialogs/dlgAirspace.cpp | 27 +- Common/Source/Dialogs/dlgAirspaceDetails.cpp | 21 +- Common/Source/Dialogs/dlgAirspaceSelect.cpp | 22 +- Common/Source/Dialogs/dlgAirspaceWarning.cpp | 3 +- Common/Source/Dialogs/dlgBasicSettings.cpp | 1 - Common/Source/Dialogs/dlgComboPicker.cpp | 17 +- Common/Source/Dialogs/dlgConfiguration.cpp | 174 +++-- Common/Source/Dialogs/dlgConfiguration2.cpp | 214 ++++-- Common/Source/Dialogs/dlgFlarmTraffic.cpp | 1 - Common/Source/Dialogs/dlgHelp.cpp | 10 +- Common/Source/Dialogs/dlgStartup.cpp | 3 - Common/Source/Dialogs/dlgStatistics.cpp | 4 +- Common/Source/Dialogs/dlgStatus.cpp | 29 +- Common/Source/Dialogs/dlgTarget.cpp | 16 +- Common/Source/Dialogs/dlgTaskCalculator.cpp | 16 +- Common/Source/Dialogs/dlgTaskOverview.cpp | 19 +- Common/Source/Dialogs/dlgTaskRules.cpp | 39 +- Common/Source/Dialogs/dlgTaskWaypoint.cpp | 80 ++- Common/Source/Dialogs/dlgTeamCode.cpp | 1 - Common/Source/Dialogs/dlgTextEntry.cpp | 3 - Common/Source/Dialogs/dlgVoice.cpp | 1 - Common/Source/Dialogs/dlgWayPointDetails.cpp | 4 +- Common/Source/Dialogs/dlgWayPointSelect.cpp | 1 - Common/Source/Dialogs/dlgWeather.cpp | 27 +- Common/Source/ExpandMacros.cpp | 36 +- Common/Source/FlightStatistics.cpp | 23 +- Common/Source/Formatter/Base.cpp | 15 +- Common/Source/Formatter/TeamCode.cpp | 1 - Common/Source/Formatter/Time.cpp | 12 +- Common/Source/Formatter/WayPoint.cpp | 3 +- Common/Source/Gauge/GaugeVario.cpp | 1 - Common/Source/GlideComputer.cpp | 1 - Common/Source/GlideComputerAirData.cpp | 40 +- Common/Source/GlideComputerStats.cpp | 2 +- Common/Source/GlideComputerTask.cpp | 123 ++-- Common/Source/GlideSolvers.cpp | 6 +- Common/Source/Globals.cpp | 49 -- Common/Source/InfoBoxEvents.cpp | 19 +- Common/Source/InfoBoxManager.cpp | 1 - Common/Source/InputEventsActions.cpp | 88 +-- Common/Source/Logger.cpp | 1082 ++------------------------ Common/Source/LoggerImpl.cpp | 1069 +++++++++++++++++++++++++ Common/Source/LoggerSign.cpp | 17 +- Common/Source/MainWindow.cpp | 2 +- Common/Source/MapWindow.cpp | 125 ++-- Common/Source/MapWindowAirspace.cpp | 21 +- Common/Source/MapWindowEvents.cpp | 7 +- Common/Source/MapWindowGlideRange.cpp | 1 - Common/Source/MapWindowGraphics.cpp | 44 - Common/Source/MapWindowProjection.cpp | 2 +- Common/Source/MapWindowScale.cpp | 3 - Common/Source/MapWindowSymbols.cpp | 8 +- Common/Source/MapWindowTask.cpp | 59 +- Common/Source/MapWindowThermal.cpp | 9 +- Common/Source/MapWindowTraffic.cpp | 1 - Common/Source/MapWindowWaypoints.cpp | 1 - Common/Source/Persist.cpp | 9 +- Common/Source/Protection.cpp | 2 - Common/Source/Registry.cpp | 121 ++-- Common/Source/ReplayLogger.cpp | 10 +- Common/Source/Screen/EditWindow.cpp | 13 +- Common/Source/Screen/Graphics.cpp | 14 +- Common/Source/SettingsComputerBlackboard.cpp | 26 + Common/Source/SettingsMapBlackboard.cpp | 29 + Common/Source/Task.cpp | 46 ++ Common/Source/TaskFile.cpp | 151 +--- Common/Source/TaskImpl.cpp | 102 ++- Common/Source/TaskVisitor.cpp | 28 +- Common/Source/TopologyStore.cpp | 4 + Common/Source/UtilsAirspace.cpp | 1 - Common/Source/Waypointparser.cpp | 1 - Common/Source/WindowControls.cpp | 67 +-- FixHeaders.pl | 2 +- Makefile | 1 + build/sdl.mk | 2 +- 122 files changed, 2820 insertions(+), 2495 deletions(-) On Tue, 2009-09-22 at 01:37 +0200, Max Kellermann wrote: > Max Kellermann (10): > Screen/EditWindow: disambiguate the Window::set() call on SDL > Screen/Canvas: undefine OPAQUE and TRANSPARENT > Makefile: added "-lSDL" to LDLIBS on WIN32 > MainWindow: don't use XCSoarInterface::main_window > WindowControls: removed mBoundRect > deleted MapWindowGraphics.cpp, it's empty > Screen/Utils: removed PolygonRotateShift() prototype > don't include Screen/Utils.hpp unless required > WindowControls: moved function prototypes to Dialogs.h > Dialogs: pass parent window to dlgComboPicker(), dlgHelpShowModal() > > Common/Source/MapWindowGraphics.cpp | 44 ----- > b/Common/Header/Dialogs.h | 11 + > b/Common/Header/Screen/Canvas.hpp | 5 > b/Common/Header/Screen/Util.hpp | 3 > b/Common/Header/WindowControls.h | 3 > b/Common/Source/Dialogs/dlgAirspace.cpp | 1 > b/Common/Source/Dialogs/dlgAirspaceSelect.cpp | 1 > b/Common/Source/Dialogs/dlgAirspaceWarning.cpp | 3 > b/Common/Source/Dialogs/dlgComboPicker.cpp | 17 - > b/Common/Source/Dialogs/dlgConfiguration2.cpp | 214 ++++++++++++++++--------- > b/Common/Source/Dialogs/dlgHelp.cpp | 10 - > b/Common/Source/Dialogs/dlgStartup.cpp | 3 > b/Common/Source/Dialogs/dlgStatistics.cpp | 4 > b/Common/Source/Dialogs/dlgTaskOverview.cpp | 1 > b/Common/Source/Dialogs/dlgTextEntry.cpp | 3 > b/Common/Source/Dialogs/dlgWayPointSelect.cpp | 1 > b/Common/Source/Dialogs/dlgWeather.cpp | 27 ++- > b/Common/Source/MainWindow.cpp | 2 > b/Common/Source/MapWindow.cpp | 1 > b/Common/Source/MapWindowAirspace.cpp | 1 > b/Common/Source/MapWindowGlideRange.cpp | 1 > b/Common/Source/MapWindowScale.cpp | 1 > b/Common/Source/MapWindowSymbols.cpp | 1 > b/Common/Source/MapWindowTask.cpp | 1 > b/Common/Source/Screen/EditWindow.cpp | 13 - > b/Common/Source/Screen/Graphics.cpp | 1 > b/Common/Source/WindowControls.cpp | 67 ++----- > b/build/sdl.mk | 2 > 28 files changed, 219 insertions(+), 223 deletions(-) |