diff --git a/libs/opmapcontrol/src/internals/core.cpp b/libs/opmapcontrol/src/internals/core.cpp index 211603b..46e8f7a 100644 --- a/libs/opmapcontrol/src/internals/core.cpp +++ b/libs/opmapcontrol/src/internals/core.cpp @@ -42,8 +42,10 @@ namespace internals { minOfTiles(0,0), maxOfTiles(0,0), zoom(0), + projection(NULL), isDragging(false), TooltipTextPadding(10,10), + mapType(MapType::GoogleMap), loaderLimit(5), maxzoom(21), runningThreads(0), @@ -61,6 +63,9 @@ namespace internals { } Core::~Core() { + if (projection) { + delete projection; + } ProcessLoadTaskCallback.waitForDone(); } diff --git a/libs/opmapcontrol/src/internals/core.h b/libs/opmapcontrol/src/internals/core.h index 73c652d..c8c50bf 100644 --- a/libs/opmapcontrol/src/internals/core.h +++ b/libs/opmapcontrol/src/internals/core.h @@ -135,6 +135,9 @@ namespace internals { } void SetProjection(PureProjection* value) { + if (projection) { + delete projection; + } projection=value; tileRect=Rectangle(core::Point(0,0),value->TileSize()); } diff --git a/libs/opmapcontrol/src/internals/pureprojection.h b/libs/opmapcontrol/src/internals/pureprojection.h index 77f795d..b75389c 100644 --- a/libs/opmapcontrol/src/internals/pureprojection.h +++ b/libs/opmapcontrol/src/internals/pureprojection.h @@ -42,8 +42,9 @@ namespace internals class PureProjection { - public: + virtual ~PureProjection() {} + virtual Size TileSize()const=0; virtual double Axis()const=0; diff --git a/src/GAudioOutput.cc b/src/GAudioOutput.cc index 2e40557..5822f9d 100644 --- a/src/GAudioOutput.cc +++ b/src/GAudioOutput.cc @@ -94,13 +94,13 @@ GAudioOutput::GAudioOutput(QObject *parent) : QObject(parent), #if defined Q_OS_LINUX && defined QGC_SPEECH_ENABLED espeak_Initialize(AUDIO_OUTPUT_PLAYBACK, 500, NULL, 0); // initialize for playback with 500ms buffer and no options (see speak_lib.h) - espeak_VOICE espeak_voice; - espeak_voice.languages = "en-uk"; // Default to British English - espeak_voice.identifier = NULL; // no specific voice file specified - espeak_voice.name = "klatt"; // espeak voice name - espeak_voice.gender = 2; // Female - espeak_voice.age = 0; // age not specified - espeak_SetVoiceByProperties(&espeak_voice); + espeak_VOICE *espeak_voice = espeak_GetCurrentVoice(); + espeak_voice->languages = "en-uk"; // Default to British English + espeak_voice->identifier = NULL; // no specific voice file specified + espeak_voice->name = "klatt"; // espeak voice name + espeak_voice->gender = 2; // Female + espeak_voice->age = 0; // age not specified + espeak_SetVoiceByProperties(espeak_voice); #endif #if defined _MSC_VER && defined QGC_SPEECH_ENABLED diff --git a/src/comm/MAVLinkProtocol.cc b/src/comm/MAVLinkProtocol.cc index 81186fd..332a210 100644 --- a/src/comm/MAVLinkProtocol.cc +++ b/src/comm/MAVLinkProtocol.cc @@ -183,6 +183,7 @@ void MAVLinkProtocol::run() while(!_should_exit) { if (isFinished()) { + delete heartbeatTimer; qDebug() << "MAVLINK WORKER DONE!"; return; }