From: Alyssa M. <fu...@us...> - 2010-04-06 17:24:19
|
gemrb: Infinity Engine emulator The branch master has been updated via 2bb10ee6545e6e6790dc914c59b2975ffb511e62 (commit) via f38882a2718945fa003fc9a835df17a46d6deab7 (commit) Summary of changes: gemrb/plugins/Core/GSUtils.cpp | 6 +++--- gemrb/plugins/Core/GameControl.cpp | 3 +++ 2 files changed, 6 insertions(+), 3 deletions(-) from 6f18dab1529c252f6117170b805b07c29ce6215d (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- http://gemrb.git.sourceforge.net/git/gitweb.cgi?p=gemrb/gemrb;a=commitdiff;h=2bb10ee6545e6e6790dc914c59b2975ffb511e62 commit 2bb10ee6545e6e6790dc914c59b2975ffb511e62 Author: Alyssa Milburn <fu...@fu...> Date: Tue Apr 6 19:20:25 2010 +0200 fix DisplayText leak in GameControl diff --git a/gemrb/plugins/Core/GameControl.cpp b/gemrb/plugins/Core/GameControl.cpp index 97bbf60..3b19ea7 100644 --- a/gemrb/plugins/Core/GameControl.cpp +++ b/gemrb/plugins/Core/GameControl.cpp @@ -261,6 +261,9 @@ GameControl::~GameControl(void) if (dlg) { delete dlg; } + if (DisplayText) { + core->FreeString(DisplayText); + } } //Autosave was triggered by the GUI http://gemrb.git.sourceforge.net/git/gitweb.cgi?p=gemrb/gemrb;a=commitdiff;h=f38882a2718945fa003fc9a835df17a46d6deab7 commit f38882a2718945fa003fc9a835df17a46d6deab7 Author: Alyssa Milburn <fu...@fu...> Date: Tue Apr 6 19:18:16 2010 +0200 fix leak in DisplayStringCore diff --git a/gemrb/plugins/Core/GSUtils.cpp b/gemrb/plugins/Core/GSUtils.cpp index f88995e..7aa1c0e 100644 --- a/gemrb/plugins/Core/GSUtils.cpp +++ b/gemrb/plugins/Core/GSUtils.cpp @@ -355,9 +355,9 @@ void DisplayStringCore(Scriptable* Sender, int Strref, int flags) } } - if ((Strref != -1) && strcmp(core->GetString(Strref, 0),"") && !sb.Sound[0]) { + if ((Strref != -1) && !sb.Sound[0]) { sb = core->strings->GetStringBlock( Strref ); - if (flags & DS_CONSOLE) { + if (sb.text[0] && (flags & DS_CONSOLE)) { //can't play the sound here, we have to delay action //and for that, we have to know how long the text takes if(flags&DS_NONAME) { @@ -366,7 +366,7 @@ void DisplayStringCore(Scriptable* Sender, int Strref, int flags) core->DisplayStringName( Strref, 0xf0f0f0, Sender, 0); } } - if (flags & (DS_HEAD | DS_AREA)) { + if (sb.text[0] && (flags & (DS_HEAD | DS_AREA))) { Sender->DisplayHeadText( sb.text ); //don't free sb.text, it is residing in Sender if (flags & DS_AREA) { ----------------------------------------------------------------------- This is an automated email from the git hooks/post-receive script. -- gemrb: Infinity Engine emulator |